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