Enable CLR integration
Applies to: SQL Server Azure SQL Managed Instance
The common language runtime (CLR) integration feature is off by default. To use objects that are implemented using CLR integration, use the clr enabled server configuration option in SQL Server Management Studio to enable CLR integration:
EXECUTE 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, aren't affected by this setting and continue to function.
Note
Though the clr enabled
configuration option is enabled in Azure SQL Database, developing CLR user functions aren't 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 might 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_reserve
SQL 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 isn't supported under lightweight pooling. Before enabling CLR integration, you must disable lightweight pooling. For more information, see Server configuration: lightweight pooling.