clr enabled サーバー構成オプション

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

オプションを使用して、 clr enabled SQL Server によってユーザーアセンブリを実行できるかどうかを指定します。 clr enabled オプションでは、次の値を指定します。

説明
0 SQL Server ではアセンブリの実行は許可されていません。
1 SQL Server でのアセンブリの実行が許可されます。

WOW64 の場合のみ: WOW64 サーバーを再起動して、これらの変更を適用します。 他の種類のサーバーでは、再起動は不要です。

RECONFIGURE を実行し、clr enabled オプションの実行値が 1 から 0 に変更されると、ユーザー アセンブリが含まれているすべてのアプリケーション ドメインが直ちにアンロードされます。

重要

簡易プーリングでは、共通言語ランタイム (CLR) の実行はサポートされていません "clr enabled" または "lightweight pooling" のいずれかのオプションを無効にしてください。 CLR に依存し、ファイバーモードで適切に動作しない機能には、 hierarchyid データ型、 関数、レプリケーション、およびポリシーベースの管理が含まれます。 詳細については、「lightweight pooling サーバー構成オプション」を参照してください

警告

CLR では、セキュリティ境界としてサポートされなくなった、.NET Framework のコード アクセス セキュリティ (CAS) が使用されます。 PERMISSION_SET = SAFE で作成された CLR アセンブリが、外部のシステム リソースにアクセスし、非管理対象コードを呼び出し、sysadmin 特権を取得できる場合があります。 SQL Server 2017 (14. x) 以降では、 sp_configure CLR アセンブリのセキュリティを強化するためにという clr strict security オプションが導入されています。 clr strict security は既定で有効になり、SAFE および EXTERNAL_ACCESS アセンブリを UNSAFE とマークされている場合と同様に扱います。 clr strict security オプションは、旧バージョンとの互換性のために無効にできますが、これは推奨されません。 Microsoft では、master データベースで UNSAFE ASSEMBLY アクセス許可が付与されている対応するログインを含む証明書または非対称キーで、すべてのアセンブリに署名することをお勧めします。 SQL Server 管理者は、アセンブリの一覧にアセンブリを追加することもできます。アセンブリは、データベースエンジンが信頼する必要があります。 詳細については、「sys.sp_add_trusted_assembly」を参照してください。

Note

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

次の例では、最初に clr enabled オプションの現在の設定を表示し、その後、オプションの値を 1 に設定することで、このオプションを有効にします。 このオプションを無効にするには、値を 0 に設定します。

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

次のステップ