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


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

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

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

При обслуживании или обновлении неподдерживаемых сборок в глобальном кэше сборок (GAC), приложение 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 загружает их непосредственно из глобального кэша сборок (GAC).

Библиотеки и пространства имен, поддерживаемые интеграцией со средой 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.