Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
Управляет интерпретацией SAFEили EXTERNAL_ACCESSUNSAFE разрешением в SQL Server. Дополнительные сведения об этих разрешениях см. в разделе "Конструктор сборок".
| значение | Описание |
|---|---|
0 |
Нетрудоспособный. Предоставляется для обратной совместимости. Не рекомендуется задавать это значение 0 . |
1 |
Включен. Вызывает ядро СУБД игнорировать PERMISSION_SET сведения о сборках и всегда интерпретировать их как UNSAFE. В SQL Server 2017 (14.x) и более поздних версиях 1 используется значение по умолчанию. |
Безопасность доступа к коду больше не поддерживается
Среда CLR использует управление доступом для кода (CAS) в .NET Framework, которое больше не поддерживается в качестве границы безопасности. Сборка СРЕДЫ CLR, созданная с PERMISSION_SET = SAFE возможностью доступа к ресурсам внешней системы, вызову неуправляемого кода и получению привилегий sysadmin. В SQL Server 2017 (14.x) и более поздних версиях clr strict security обрабатываются SAFE и EXTERNAL_ACCESS сборки, как если бы они помечены UNSAFE.
Рекомендуется подписать все сборки сертификатом или асимметричным ключом с соответствующим именем входа, предоставленным UNSAFE ASSEMBLY в master базе данных. Администраторы SQL Server также могут добавлять сборки в список сборок, которым должен доверять ядро СУБД. Дополнительные сведения см. в разделе sys.sp_add_trusted_assembly.
Замечания
Если параметр PERMISSION_SET включен, операторы CREATE ASSEMBLY и ALTER ASSEMBLY игнорируются во время выполнения, а параметры PERMISSION_SET сохраняются в метаданных. Этот параметр игнорирует критические существующие инструкции кода.
Аргумент CLR strict security имеет тип advanced option.
После включения строгой безопасности все сборки, которые не подписаны, не загружались. Необходимо изменить или удалить и повторно создать каждую сборку, чтобы она была подписана с помощью сертификата или асимметричного ключа, имеющего соответствующее имя входа с UNSAFE ASSEMBLY разрешением на сервере.
Разрешения
Изменение этого параметра
Требуется CONTROL SERVER разрешение или членство в предопределенных ролях сервера sysadmin .
Создание сборки СРЕДЫ CLR
Следующие разрешения необходимы для создания сборки CLR, когда CLR strict security включена:
Пользователь должен иметь разрешение
CREATE ASSEMBLY.Одно из следующих условий также должно иметь значение true:
Сборка должна была подписана сертификатом или асимметричным ключом, имеющим соответствующее имя входа с разрешением
UNSAFE ASSEMBLYна сервере. Рекомендуется использовать подпись сборки.База данных имеет
TRUSTWORTHYсвойство со значениемONи базы данных, принадлежащие имени входа, имеющем разрешениеUNSAFE ASSEMBLYна сервере. Этот параметр использовать не рекомендуется.
Примеры
В следующем примере сначала отображается текущий clr strict security параметр параметра, а затем устанавливается значение 1 параметра (включено).
EXECUTE sp_configure 'clr strict security';
GO
EXECUTE sp_configure 'clr strict security', '1';
RECONFIGURE;
GO