CLR 統合 - 有効化

適用対象:yesSQL Server (サポートされているすべてのバージョン) YesAzure SQL Managed Instance

CLR (共通言語ランタイム) 統合機能は既定では無効になっているので、CLR 統合を使用して実装されるオブジェクトを使用するには、この機能を有効にする必要があります。 CLR 統合を有効にするには、SQL Server Management Studioのsp_configure ストアド プロシージャの clr 対応オプションを使用します。

EXEC sp_configure 'clr enabled', 1;  
RECONFIGURE;  
GO  

clr enabled オプションを 0 に設定することにより、CLR 統合を無効にできます。 CLR 統合を無効にすると、SQL Serverはすべてのユーザー定義 CLR ルーチンの実行を停止し、すべてのアプリケーション ドメインをアンロードします。 hierarchyid データ型、関数、レプリケーション、ポリシー ベースの管理など、FORMATCLR に依存する機能は、この設定の影響を受けず、引き続き機能します。

Note

Azure SQL データベース では clr enabled 構成オプションが有効になっていますが、CLR ユーザー関数の開発は Azure SQL データベース ではサポートされていません。

アクセス許可

CLR 統合を有効にするには、ALTER SETTINGS サーバー レベルのアクセス許可が必要です。これは、 sysadmin および serveradmin 固定サーバー ロールのメンバーによって暗黙的に保持されます。

解説

コンピューターを構成しているメモリ サイズとプロセッサ数が非常に大きい場合、SQL Server の CLR 統合機能をサーバーの起動時に読み込めないことがあります。 この問題に対処するには、-gmemory_to_reserve SQL Server サービス起動オプションを使用してサーバーを起動し、十分な大きさのメモリ値を指定します。 詳細については、「 データベース エンジン サービスのスタートアップ オプション」を参照してください。

Note

簡易プーリングでは、共通言語ランタイム (CLR) の実行はサポートされていません。 CLR 統合を有効にする前に、簡易プーリングを無効にする必要があります。 詳細については、「 lightweight pooling Server Configuration Option」を参照してください。

参照