9

CLR統合を有効にするこのドキュメントでは、「crl enabled」変数を1に設定するために次のコードを使用すると説明しています:http://msdn.microsoft.com/en-us/library/ms131048.aspxSQL Server 2008-r2でCLR統合を有効にする

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

私が知りたい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 
+0

これは間違いです。 「オーバーライド」とは何かだけでなく、最初に必要なものも必要です。 'RECONFIGURE'自体はすでに再起動の必要なしに有効/無効状態を更新します。 –

4

回答が間違っています。 WITH OVERRIDEオプションがRECONFIGUREの場合、SQL Serverの再起動が必要かどうかはまったく関係ありません。

事実があり、の再起動はしません...

が(有効かない非推奨値についてはない値のために)チェック設定値を無効にします:RECONFIGUREのためのMSDNドキュメントは、WITH OVERRIDEと述べています「CLR統合」オプションをsp_configureに有効または無効にするときは、SQL Serverサービスが必要です。簡単なテストは、(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フィールドへ

ご注意を。システムで「CLR統合」が既に有効になっているため、「1」として開始されます。しかし、それは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 

さらに、clr enabledは、高度なオプションではありませんので、

sp_configure 'show advanced options', 1; 

ための文は不要で、質問に示す初期コードに関して記載すべき。

を要約すると次のように「CLR統合」を有効にするために必要なすべてのステップの合計を、およびSQL Serverサービスを再起動する必要なしに、以下のとおりです。それ

EXEC sp_configure 'clr enabled', 1; 
RECONFIGURE; 

だこと。 **


** WOW64サーバを有効にするには、このオプションのためにサーバの再起動が必要になります。 (clr enabled Server Configuration Option

+1

詳細な回答ありがとうございます。間違いなくupvoteに値する! –