9

寻找启用 CLR 集成我发现了这个文档: http: //msdn.microsoft.com/en-us/library/ms131048.aspx说使用以下代码将“启用crl”变量设置为1。

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO

我想知道是否需要重新启动 SQL Server?或者,更一般地说,启用 CRL 集成需要遵循哪些步骤?

4

2 回答 2

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
于 2012-11-09T11:36:17.833 回答
6

接受的答案不正确。的WITH OVERRIDE选项RECONFIGURE与是否需要重新启动 SQL Server 完全无关。RECONFIGURE的 MSDN 文档指出WITH OVERRIDE

禁用配置值检查(对于无效值或非推荐值)...

事实上,在启用或禁用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_value场。它以“1”开头,因为我的系统上已经启用了“CLR 集成”。但它只用 call 切换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

此外,应该说明问题中显示的初始代码,声明

sp_configure 'show advanced options', 1;

是不必要的,因为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
*/

如您在上面显示的结果集中所见,is_advancedis0表示“不是高级选项(是的,Microsoft 官方文档目前不正确;我有时间会更新它)。另外,is_dynamicis1表示只需执行即可RECONFIGURE启用立即选项,不需要重新启动实例。

总结一下:启用“CLR 集成”所需的所有步骤的总和,并且不需要重新启动 SQL Server 服务,如下所示:

EXEC sp_configure 'clr enabled', 1;
RECONFIGURE;

就是这样。**


** WOW64 服务器需要重新启动服务器才能使此选项生效。(clr 启用服务器配置选项

于 2016-01-30T15:23:24.263 回答