Поделиться через


Конфигурация сервера: включена среда clr

Область применения: SQL Server

clr enabled Используйте параметр, чтобы указать, может ли SQL Server запускать пользовательские сборки. Параметр clr enabled принимает следующие значения:

значение Описание
0 Выполнение сборки не разрешено в SQL Server.
1 Выполнение сборки разрешено в SQL Server.

Только для WOW64. Перезагрузите серверы WOW64, чтобы эти изменения вступили в силу. Перезапуск не требуется для других типов серверов.

При запуске, а значение clr enabled запуска RECONFIGUREпараметра изменяется на 1 0, все домены приложений, содержащие пользовательские сборки, немедленно выгружаются.

Ограничения

Выполнение среды CLR не поддерживается при упрощенном пуле

Отключите один из двух вариантов: clr enabled или lightweight pooling. Функции, основанные на среде CLR и которые не работают должным образом в режиме волокна, включают тип данных hierarchyid , функцию, FORMAT репликацию и управление на основе политик. Дополнительные сведения см. в разделе "Конфигурация сервера: упрощенное пулирование".

clr enabled Хотя параметр конфигурации включен в База данных SQL Azure, разработка пользовательских функций CLR не поддерживается в База данных SQL Azure.

Безопасность доступа к коду больше не поддерживается

Среда CLR использует управление доступом для кода (CAS) в .NET Framework, которое больше не поддерживается в качестве границы безопасности. Сборка СРЕДЫ CLR, созданная с PERMISSION_SET = SAFE возможностью доступа к ресурсам внешней системы, вызову неуправляемого кода и получению привилегий sysadmin. В SQL Server 2017 (14.x) и более поздних версиях sp_configure параметр, clr strict security, повышает безопасность сборок СРЕДЫ CLR. clr strict security включен по умолчанию и рассматривает сборки SAFE и EXTERNAL_ACCESS, как если бы они были помечены UNSAFE. Параметр clr strict security можно отключить для обратной совместимости, но не рекомендуется.

Рекомендуется подписать все сборки сертификатом или асимметричным ключом с соответствующим именем входа, предоставленным UNSAFE ASSEMBLY в master базе данных. Администраторы SQL Server также могут добавлять сборки в список сборок, которым должен доверять ядро СУБД. Дополнительные сведения см. в разделе sys.sp_add_trusted_assembly.

Примеры

В следующем примере сначала выводится текущее значение параметра clr enabled, а затем задается значения 1 для включения параметра. Чтобы отключить этот параметр, задайте значение 0.

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