Bri*_*oll 4 sql-server deployment sqlclr
我继承了一个SQL CLR项目,作为我正在为客户工作的代码维护项目的一部分.不可否认,我对SQL CLR很陌生,所以我想弄清楚它是如何工作的.
我注意到数据库连接字符串存储在项目的属性中,所以如果需要,我知道如何更改它.我遇到的一个问题是:是否可以设置多个连接字符串以部署到多个SQL Server实例?在我的例子中,我有一个本地开发机器,一个登台服务器和一个生产服务器(每个服务器上有一个目标数据库的单独副本).我希望能够将SQL CLR程序集部署到所有3,而无需更改连接字符串并为每个连接字符串重新构建.
除了通过Visual Studio进行开发之外,您不应该部署到任何地方,因此Project中的连接字符串应始终指向您的开发环境.
一旦在开发服务器中测试了代码,就可以通过右键单击有问题的程序集来编写SSMS中的程序集,并执行"Script Assembly As ..."然后"Create To ..."然后"New查询窗口".这将为您提供应用于部署到QA,Staging和Production的基本脚本.
一般格式是:
USE [DBName]
GO
CREATE ASSEMBLY [AssemblyName]
AUTHORIZATION [dbo]
FROM 0x0000...
WITH PERMISSION_SET = SAFE
Run Code Online (Sandbox Code Playgroud)
您实际上并不需要将程序集文件传播到其他环境,但如果您想要它也不会受到伤害.
如果你想自动化它,一旦你有了这个基本脚本,你总是可以通过以下方式获取更新的汇编代码(上面提到的0x0000):
SELECT Content FROM sys.assembly_files WHERE name = 'AssemblyName'
Run Code Online (Sandbox Code Playgroud)
编辑:为了完整起见,正如Jeremy在下面的评论中提到的,上述信息仅描述了程序集本身的部署,而不是用于访问程序集内代码的包装器对象.完整的部署过程将:
| 归档时间: |
|
| 查看次数: |
6509 次 |
| 最近记录: |