Поддерживаемые библиотеки платформы .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.