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


Общие сведения об интеграции CLR SQL Server

Среда CLR — это сердце .NET Framework и предоставляет среду выполнения для всего кода .NET Framework. Код, который выполняется в среде CLR, называется управляемым кодом. Среда CLR предоставляет различные функции и услуги, требуемые для выполнения программы, включая JIT-компиляцию, распределение и управление памятью, соблюдение безопасности типов, обработку исключений, управление потоками и безопасность.

С помощью среды CLR, размещенной в Microsoft SQL Server (называемой интеграцией CLR), вы можете создавать хранимые процедуры, триггеры, определяемые пользователем функции, определяемые пользователем типы и определяемые пользователем агрегаты в управляемом коде. Так как управляемый код компилируется в машинный код до выполнения, вы можете добиться значительного увеличения производительности в некоторых сценариях.

Управляемый код, работающий в .NET Framework, использует кодовую безопасность (CAS), ссылки на код и домены приложений, чтобы предотвратить выполнение определенных операций сборками. SQL Server использует CAS для защиты управляемого кода и предотвращения компрометации операционной системы или сервера базы данных.

Замечание

Безопасность доступа к коду (CAS) устарела во всех версиях платформ .NET Framework, и .NET. Последние версии .NET не учитывают заметки CAS и создают ошибки, если используются API, связанные с CAS. Разработчики должны искать альтернативные средства выполнения задач безопасности.

Этот раздел предназначен для предоставления достаточной информации для начала программирования с интеграцией CLR SQL Server и не предназначен быть исчерпывающим. Дополнительные сведения см. в разделе "Общие сведения об интеграции среды CLR".

Включение интеграции со средой CLR

Функция интеграции среды CLR (CLR) отключена по умолчанию в Microsoft SQL Server и должна быть включена для использования объектов, реализованных с помощью интеграции CLR. Чтобы включить интеграцию CLR с помощью Transact-SQL, используйте clr enabled опцию хранимой процедуры sp_configure, как показано ниже.

sp_configure 'clr enabled', 1  
GO  
RECONFIGURE  
GO  

Интеграцию со средой CLR можно отключить, присвоив параметру clr enabled значение 0. При отключении интеграции СРЕДЫ CLR SQL Server перестает выполнять все подпрограммы CLR и выгружает все домены приложений.

Дополнительные сведения см. в разделе Включение интеграции CLR.

Развертывание сборки CLR

После тестирования и проверки методов СРЕДЫ CLR на тестовом сервере их можно распространить на рабочие серверы с помощью скрипта развертывания. Скрипт развертывания можно создать вручную или с помощью SQL Server Management Studio. Дополнительные сведения см. в документации по SQL Server для используемой версии SQL Server.

Документация SQL Server

  1. Развертывание объектов базы данных CLR

Безопасность интеграции CLR

Модель безопасности интеграции Microsoft SQL Server с со средой выполнения .NET Framework CLR контролирует и обеспечивает безопасность доступа между различными типами объектов CLR и не-CLR, работающими в SQL Server. Эти объекты могут вызываться оператором Transact-SQL или другим объектом CLR, работающим на сервере.

Дополнительные сведения см. в разделе CLR Integration Security.

Отладка сборки CLR

Microsoft SQL Server обеспечивает поддержку отладки Transact-SQL и объектов среды CLR в базе данных. Отладка работает на разных языках: пользователи могут беспрепятственно переходить к объектам CLR из Transact-SQL и наоборот.

Дополнительные сведения см. в разделе "Отладка объектов базы данных CLR".

См. также