Поддерживаемые библиотеки платформы .NET Framework

Применимо к:SQL Server

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

Заметка

Если вы обслуживаете или обновляете неподдерживаемые сборки в глобальном кэше сборок (GAC), приложение SQL Server может перестать работать. Это связано с тем, что обслуживание или обновление библиотек в GAC не обновляет эти сборки внутри SQL Server. Если сборка существует как в базе данных SQL Server, так и в GAC, две копии сборки должны точно соответствовать. Если они не совпадают, при интеграции СРЕДЫ CLR sql Server возникает ошибка. Если вы обслуживаете или обновляете сборки в GAC, которые также зарегистрированы в базе данных, включая неподдерживаемые сборки .NET Framework, обязательно обновите копию сборки в базах данных SQL Server с помощью инструкции ALTER ASSEMBLY . Дополнительные сведения см. в статье базы знаний 949080.

Поддерживаемые библиотеки

Начиная с SQL Server 2005 (9.x), SQL Server содержит список поддерживаемых библиотек .NET Framework, которые были протестированы, чтобы обеспечить соответствие стандартам надежности и безопасности для взаимодействия с SQL Server. Поддерживаемые библиотеки не должны быть явно зарегистрированы на сервере, прежде чем их можно будет использовать в коде; SQL Server загружает их непосредственно из глобального кэша сборок (GAC).

Библиотеки и пространства имен, поддерживаемые интеграцией СРЕДЫ CLR в SQL Server:

  • CustomMarshalers
  • Microsoft.VisualBasic
  • Microsoft.VisualC
  • mscorlib
  • Система
  • System.Configuration
  • System.Core
  • System.Data
  • System.Data.OracleClient
  • System.Data.SqlXml
  • System.Deployment
  • System.Security
  • System.Transactions
  • System.Web.Services
  • System.Xml
  • System.Xml.Linq

Неподдерживаемые библиотеки

Неподдерживаемые библиотеки могут быть вызваны из управляемых хранимых процедур, триггеров, определяемых пользователем функций, определяемых пользователем типов и определяемых пользователем статистических функций. Неподдерживаемая библиотека сначала должна быть зарегистрирована в базе данных SQL Server с помощью инструкции CREATE ASSEMBLY , прежде чем ее можно будет использовать в коде. Любая неподдерживаемая библиотека, зарегистрированная и работающая на сервере, должна быть просмотрена и проверена в отношении безопасности и надежности.

Например, пространство имен System.DirectoryServices не поддерживается. Перед вызовом сборки System.DirectoryServices.dll необходимо зарегистрировать ее с разрешениями UNSAFE . Разрешение UNSAFE необходимо, так как классы в пространстве имен System.DirectoryServices не соответствуют требованиям для SAFE или EXTERNAL_ACCESS. Дополнительные сведения см. в разделе ограничения модели программирования интеграции CLR и безопасность доступа к коду CLR.

См. также

Создание сборки
Безопасность доступом для кода на основе интеграции со средой CLR
Ограничения модели программирования на основе интеграции со средой CLR