CLR Integration - Enabling
Applies to: SQL Server (all supported versions) 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.
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.
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.
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.