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

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

SQL ServerSQL Serverでユーザー アセンブリを実行できるかどうかを指定するには、clr enabled オプションを使用します。Use the clr enabled option to specify whether user assemblies can be run by SQL ServerSQL Server. clr enabled オプションでは、次の値を指定します。The clr enabled option provides the following values:

[値]Value DescriptionDescription
00 SQL ServerSQL Serverでアセンブリを実行できません。Assembly execution not allowed on SQL ServerSQL Server.
11 SQL ServerSQL Serverでアセンブリを実行できます。Assembly execution allowed on SQL ServerSQL Server.

WOW64 のみ。WOW64 only. WOW64 サーバーを再起動して設定の変更を有効にします。Restart WOW64 servers to effect the settings changes. 他の種類のサーバーでは、再起動は不要です。No restart required for other server types.

RECONFIGURE を実行し、clr enabled オプションの実行値が 1 から 0 に変更されると、ユーザー アセンブリが含まれているすべてのアプリケーション ドメインが直ちにアンロードされます。When you run RECONFIGURE, and the run value of the clr enabled option is changed from 1 to 0, all application domains containing user assemblies are immediately unloaded.

簡易プーリングでは、共通言語ランタイム (CLR) の実行はサポートされていません "clr enabled" または "lightweight pooling" のいずれかのオプションを無効にしてください。Common language runtime (CLR) execution is not supported under lightweight pooling Disable one of two options: "clr enabled" or "lightweight pooling". CLR に依存していてファイバー モードで正しく動作しない機能には、 Hierarchy データ型、レプリケーション、およびポリシー ベースの管理があります。Features that rely upon CLR and that do not work properly in fiber mode include the hierarchy data type, replication, and Policy-Based Management.


CLR では、セキュリティ境界としてサポートされなくなった、.NET Framework のコード アクセス セキュリティ (CAS) が使用されます。CLR uses Code Access Security (CAS) in the .NET Framework, which is no longer supported as a security boundary. PERMISSION_SET = SAFE で作成された CLR アセンブリが、外部のシステム リソースにアクセスし、非管理対象コードを呼び出し、sysadmin 特権を取得できる場合があります。A CLR assembly created with PERMISSION_SET = SAFE may be able to access external system resources, call unmanaged code, and acquire sysadmin privileges. SQL Server 2017 (14.x)SQL Server 2017 (14.x) 以降、CLR アセンブリのセキュリティを強化するために clr strict security という sp_configure オプションが導入されました。Beginning with SQL Server 2017 (14.x)SQL Server 2017 (14.x), an sp_configure option called clr strict security is introduced to enhance the security of CLR assemblies. clr strict security は既定で有効になり、SAFE および EXTERNAL_ACCESS アセンブリを UNSAFE とマークされている場合と同様に扱います。clr strict security is enabled by default, and treats SAFE and EXTERNAL_ACCESS assemblies as if they were marked UNSAFE. clr strict security オプションは、旧バージョンとの互換性のために無効にできますが、これは推奨されません。The clr strict security option can be disabled for backward compatibility, but this is not recommended. Microsoft では、master データベースで UNSAFE ASSEMBLY アクセス許可が付与されている対応するログインを含む証明書または非対称キーで、すべてのアセンブリに署名することをお勧めします。Microsoft recommends that all assemblies be signed by a certificate or asymmetric key with a corresponding login that has been granted UNSAFE ASSEMBLY permission in the master database. SQL ServerSQL Server 管理者は、データベース エンジンが信頼するアセンブリのリストにアセンブリを追加することもできます。administrators can also add assemblies to a list of assemblies, which the Database Engine should trust. 詳細については、「sys.sp_add_trusted_assembly」を参照してください。For more information, see sys.sp_add_trusted_assembly.


次の例では、最初に clr enabled オプションの現在の設定を表示し、その後、オプションの値を 1 に設定することで、このオプションを有効にします。The following example first displays the current setting of the clr enabled option and then enables the option by setting the option value to 1. このオプションを無効にするには、値を 0 に設定します。To disable the option, set the value to 0.

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

参照See Also

lightweight pooling サーバー構成オプション lightweight pooling Server Configuration Option
サーバー構成オプション (SQL Server) Server Configuration Options (SQL Server)
sp_configure (Transact-SQL) sp_configure (Transact-SQL)
lightweight pooling サーバー構成オプションlightweight pooling Server Configuration Option