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

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

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

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

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

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

Ограничения

Выполнение общеязыковой среды выполнения (CLR) не поддерживается при использовании облегченного объединения в пул

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

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

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

CLR использует в .NET Framework механизм безопасности доступа кода (CAS), который больше не поддерживается в качестве границы безопасности. Сборка CLR, созданная с PERMISSION_SET = SAFE, может получить доступ к внешним системным ресурсам, вызывать неуправляемый код и получить привилегии sysadmin. В SQL Server 2017 (14.x) и более поздних версиях параметр sp_configureclr 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.

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