Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Applies to:SQL Server
Управляемый код компилируется, а затем развертывается в единицах, называемых сборкой среды CLR. Сборка упаковается в виде файла DLL или исполняемого файла (.exe
) . Исполняемый файл можно запускать, а для вызова динамической библиотеки нужно подключить ее к существующему приложению. Управляемые сборки DLL можно загружать и размещать в SQL Server. SQL Server требует регистрации сборки в базе данных с помощью инструкции CREATE ASSEMBLY
, прежде чем ее можно будет загрузить в процессе и использовать. Сборки также можно обновить из более последней версии с помощью инструкции ALTER ASSEMBLY
или удалить из SQL Server с помощью инструкции DROP ASSEMBLY
.
Сведения о сборке хранятся в таблице sys.assembly_files
в базе данных, где установлена сборка. Таблица sys.assembly_files
содержит следующие столбцы.
Column | Description |
---|---|
assembly_id |
Идентификатор, определенный для сборки. Это число назначается всем объектам, относящимся к одной сборке. |
name |
Имя объекта. |
file_id |
Число, определяющее каждый объект, с первым объектом, связанным с заданным assembly_id присваивается значение 1. Если несколько объектов связаны с одной и той же assembly_id , то каждое последующее file_id значение увеличивается на 1. |
content |
Шестнадцатеричное представление сборки или файла. |
В этом разделе
Article | Description |
---|---|
Создание сборки | Описание создания SAFE , EXTERNAL_ACCESS и сборок CLR UNSAFE в SQL Server |
Изменение сборки | Описание обновления сборок СРЕДЫ CLR в SQL Server |
Удаление сборки | Обсуждение удаления сборок CLR из SQL Server |
Безопасность доступа к коду больше не поддерживается
Среда 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 также могут добавлять сборки в список сборок, которым должен доверять ядро СУБД. For more information, see sys.sp_add_trusted_assembly.