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


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

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

ПримечаниеПримечание

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

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

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

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

  • CustomMarshalers

  • Microsoft.VisualBasic

  • Microsoft.VisualC

  • mscorlib

  • System;

  • System.Configuration

  • System.Data

  • System.Data.OracleClient

  • System.Data.SqlXml

  • System.Deployment

  • System.Security

  • System.Transactions

  • System.Web.Services

  • System.Xml

  • System.Core.dll

  • System.Xml.Linq.dll

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

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

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

См. также

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

Создание сборки

Управление доступом для кода на основе интеграции со средой CLR

Ограничения модели программирования на основе интеграции со средой CLR