Введение в интеграцию SQL Server со средой CLR (ADO.NET)

Обновлен: November 2007

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

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

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

Этот раздел предназначен для предоставления лишь такого количества сведений, с которого можно приступать к программированию в рамках интеграции SQL Server со средой CLR, и не рассчитан на всестороннее изложение. Более подробные сведения см. в электронной документации по SQL Server для используемой версии SQL Server.

SQL Server 2005

SQL Server 2008

Введение в среду 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 и выгружает все домены приложений.

Более подробные сведения см. в электронной документации по SQL Server для используемой версии SQL Server.

SQL Server 2005

SQL Server 2008

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

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

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

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

SQL Server 2005

SQL Server 2008

Развертывание среды CLR

Развертывание базы данных среды CLR

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

Интеграция модели безопасности Microsoft SQL Server со средой Microsoft .NET Framework CLR позволяет поддерживать доступ для различных типов объектов (как CLR, так и не CLR), выполняемых в SQL Server, а также обеспечивать безопасность этого доступа. Для вызова этих объектов может применяться инструкция Transact-SQL или другой объект CLR, выполняемый на сервере.

Более подробные сведения см. в электронной документации по SQL Server для используемой версии SQL Server.

SQL Server 2005

SQL Server 2008

Интеграция со средой CLR

Интеграция со средой CLR

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

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

Более подробные сведения см. в электронной документации по SQL Server для используемой версии SQL Server.

SQL Server 2005

SQL Server 2008

Отладка базы данных среды CLR

Отладка базы данных среды CLR

См. также

Основные понятия

Управление доступом для кода и ADO.NET

Другие ресурсы

Создание объектов SQL Server 2005 в управляемом коде