GVi*_*i82 9 sql-server configuration sqlclr sql-server-2008 sql-server-2008-r2
寻找启用CLR集成我找到了这个文档:http://msdn.microsoft.com/en-us/library/ms131048.aspx,它说使用以下代码将"crl enabled"变量设置为1.
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO
Run Code Online (Sandbox Code Playgroud)
我想知道如果需要重新启动SQL Server?或者,更具体地说,为了启用CRL集成,要遵循哪些步骤?
小智 8
如果使用with override
选项,则不需要重新启动.
EXEC sp_CONFIGURE 'show advanced options' , '1';
GO
RECONFIGURE WITH OVERRIDE
GO
EXEC sp_CONFIGURE 'clr enabled' , '1'
GO
RECONFIGURE WITH OVERRIDE
GO
Run Code Online (Sandbox Code Playgroud)
接受的答案是不正确的.该WITH OVERRIDE
选项RECONFIGURE
与是否需要重新启动SQL Server完全无关.RECONFIGURE的MSDN文档指出WITH OVERRIDE
:
禁用配置值检查(对于无效值或非推荐值)...
事实是,没有SQL Server服务的需要重新启动时启用,或禁用的"CLR集成"选项在sp_configure
.一个简单的测试(在SQL Server 2008 R2上运行,但在支持SQLCLR的所有版本中运行相同)证明了这一点:
EXEC sp_configure 'clr enabled'; -- show current value
EXEC sp_configure 'clr enabled', 0; RECONFIGURE;
EXEC sp_configure 'clr enabled'; -- show current value
GO
EXEC sp_configure 'clr enabled'; -- show current value
EXEC sp_configure 'clr enabled', 1; RECONFIGURE;
EXEC sp_configure 'clr enabled'; -- show current value
GO
Run Code Online (Sandbox Code Playgroud)
结果:
注意这个run_value
领域.它从"1"开始,因为我的系统已经启用了"CLR集成".但它只用呼叫切换RECONFIGURE
.
name minimum maximum config_value run_value
clr enabled 0 1 1 1
clr enabled 0 1 0 0
clr enabled 0 1 0 0
clr enabled 0 1 1 1
Run Code Online (Sandbox Code Playgroud)
此外,还应说明问题中所示的初始代码,声明
sp_configure 'show advanced options', 1;
Run Code Online (Sandbox Code Playgroud)
是不必要的,因为clr enabled
它不是一个高级选项.
为了证明关于clr enabled
不是高级选项的观点,甚至显示另一种方法来证明此选项不需要重新启动,只需执行以下简单查询:
SELECT [name], [value], [value_in_use], [is_dynamic], [is_advanced]
FROM sys.configurations
WHERE [configuration_id] = 1562;
/*
name value value_in_use is_dynamic is_advanced
clr enabled 1 1 1 0
*/
Run Code Online (Sandbox Code Playgroud)
正如你可以在上面显示的结果集看,is_advanced
是0
,意思是"没有的高级选项(是的,微软官方文档目前不正确,我会更新它,当我有时间)另外,.is_dynamic
是1
的,这意味着简单地执行RECONFIGURE
将使立即选项,不需要重启实例.
总结:启用"CLR集成"所需的所有步骤的总和,无需重新启动SQL Server服务,如下所示:
EXEC sp_configure 'clr enabled', 1;
RECONFIGURE;
Run Code Online (Sandbox Code Playgroud)
而已.**
** WOW64服务器将需要重新启动服务器才能使此选项生效.(clr启用服务器配置选项)
归档时间: |
|
查看次数: |
15803 次 |
最近记录: |