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


Поддерживаемые библиотеки .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. Дополнительные сведения см. в MSSQLSERVER_6522.

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

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

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

  • mscorlib.dll
  • CustomMarshalers.dll
  • Microsoft.VisualBasic.dll
  • Microsoft.VisualC.dll
  • System.Configuration.dll
  • System.Core.dll
  • System.Data.OracleClient.dll
  • System.Data.SqlXml.dll
  • System.Data.dll
  • System.Deployment.dll
  • System.Security.dll
  • System.Transactions.dll
  • System.Web.Services.dll
  • System.Xml.Linq.dll
  • system.Xml.dll
  • System.dll

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

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

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