Введение в интеграцию SQL Server со средой CLR (ADO.NET)
Среда 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 отключена в Microsoft SQL Server по умолчанию, поэтому ее нужно включить, чтобы использовать объекты, использующие интеграцию со средой CLR. Чтобы включить интеграцию со средой CLR с помощью Transact-SQL, воспользуйтесь параметром clr enabled хранимой процедуры sp_configure, как показано ниже.
sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO
Интеграцию со средой CLR можно отключить, присвоив параметру clr enabled значение 0. При этом SQL Server прекращает выполнять все процедуры CLR и выгружает все домены приложений.
Более подробные сведения см. в электронной документации по SQL Server для используемой версии SQL Server.
SQL Server 2005 |
SQL Server 2008 |
---|---|
Развертывание сборки среды CLR
После тестирования методов среды CLR и проверки на тестовом сервере их можно установить на рабочие серверы с помощью скриптов развертывания. Скриптов развертывания можно создать вручную или с помощью SQL Server Management Studio. Более подробные сведения см. в электронной документации по SQL Server для используемой версии SQL Server.
SQL Server 2005 |
SQL Server 2008 |
---|---|
Безопасность интеграции со средой 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
В Microsoft SQL Server предоставляется поддержка для отладки кода Transact-SQL и объектов среды CLR в базе данных. Процесс отладки работает с кодом на всех используемых языках: пользователи могут беспрепятственно переходить к коду объектов среды CLR из кода Transact-SQL и наоборот.
Более подробные сведения см. в электронной документации по SQL Server для используемой версии SQL Server.
SQL Server 2005 |
SQL Server 2008 |
---|---|
См. также
Основные понятия
Управление доступом для кода и ADO.NET