| title | clr enabled Server Configuration Option | Microsoft Docs | ||
|---|---|---|---|
| description | Learn how to use the clr enabled option to specify whether SQL Server can run user assemblies. See when common language runtime execution is not supported. | ||
| ms.custom | |||
| ms.date | 06/20/2017 | ||
| ms.prod | sql | ||
| ms.prod_service | high-availability | ||
| ms.reviewer | |||
| ms.technology | configuration | ||
| ms.topic | conceptual | ||
| helpviewer_keywords |
|
||
| ms.assetid | 0722d382-8fd3-4fac-b4a8-cd2b7a7e0293 | ||
| author | markingmyname | ||
| ms.author | maghan |
[!INCLUDE SQL Server]
Use the clr enabled option to specify whether user assemblies can be run by [!INCLUDEssNoVersion]. The clr enabled option provides the following values:
| Value | Description |
|---|---|
| 0 | Assembly execution not allowed on [!INCLUDEssNoVersion]. |
| 1 | Assembly execution allowed on [!INCLUDEssNoVersion]. |
WOW64 only. Restart WOW64 servers to effect the settings changes. No restart required for other server types.
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.
Common language runtime (CLR) execution is not supported under lightweight pooling Disable one of two options: "clr enabled" or "lightweight pooling". Features that rely upon CLR and that do not work properly in fiber mode include the hierarchyid data type, the
FORMATfunction, replication, and Policy-Based Management.[!WARNING] CLR uses Code Access Security (CAS) in the .NET Framework, which is no longer supported as a security boundary. A CLR assembly created with
PERMISSION_SET = SAFEmay be able to access external system resources, call unmanaged code, and acquire sysadmin privileges. Beginning with [!INCLUDEsssql17], ansp_configureoption calledclr strict securityis introduced to enhance the security of CLR assemblies.clr strict securityis enabled by default, and treatsSAFEandEXTERNAL_ACCESSassemblies as if they were markedUNSAFE. Theclr strict securityoption can be disabled for backward compatibility, but this is not recommended. Microsoft recommends that all assemblies be signed by a certificate or asymmetric key with a corresponding login that has been grantedUNSAFE ASSEMBLYpermission in the master database. [!INCLUDEssNoVersion] administrators can also add assemblies to a list of assemblies, which the Database Engine should trust. For more information, see sys.sp_add_trusted_assembly.
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. To disable the option, set the value to 0.
EXEC sp_configure 'clr enabled';
EXEC sp_configure 'clr enabled' , '1';
RECONFIGURE; lightweight pooling Server Configuration Option
Server Configuration Options (SQL Server)
sp_configure (Transact-SQL)
lightweight pooling Server Configuration Option