CLR Integration - Enabling
Applies to:
SQL Server
Azure SQL Managed Instance
The common language runtime (CLR) integration feature is off by default, and must be enabled in order to use objects that are implemented using CLR integration. To enable CLR integration, use the clr enabled option of the sp_configure stored procedure in SQL Server Management Studio:
EXEC sp_configure 'clr enabled', 1;
RECONFIGURE;
GO
You can disable CLR integration by setting the clr enabled
option to 0. When you disable CLR integration, SQL Server stops executing all user-defined CLR routines and unloads all application domains. Features that rely upon the CLR, such as the hierarchyid data type, the FORMAT
function, replication, and Policy-Based Management, are not affected by this setting and will continue to function.
Note
Though the clr enabled
configuration option is enabled in Azure SQL Database, developing CLR user functions are not supported in Azure SQL Database.
Permissions
To enable CLR integration, you must have ALTER SETTINGS server level permission, which is implicitly held by members of the sysadmin and serveradmin fixed server roles.
Remarks
Computers configured with large amounts of memory and a large number of processors may fail to load the CLR integration feature of SQL Server when starting the server. To address this issue, start the server by using the -gmemory_to_reserveSQL Server service startup option, and specify a memory value large enough. For more information, see Database Engine Service Startup Options.
Note
Common language runtime (CLR) execution is not supported under lightweight pooling. Before enabling CLR integration, you must disable lightweight pooling. For more information, see lightweight pooling Server Configuration Option.