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


Построение объектов базы данных при помощи интеграции со средой CLR

Объекты базы данных можно создавать с помощью интеграции SQL Server со средой CLR платформы .NET Framework. Управляемый код, выполняющийся в Microsoft SQL Server, называется подпрограммами CLR. Эти подпрограммы включают:

  • определяемые пользователем функции, возвращающие скалярное значение (скалярные определяемые пользователем функции);

  • определяемые пользователем функции, возвращающие табличные значения (возвращающие табличное значение функции);

  • определяемые пользователем процедуры (определяемые пользователем процедуры);

  • определяемые пользователем триггеры.

Подпрограммы CLR в управляемом коде имеют одинаковую структуру. Они сопоставляются с публичными статическими методами класса (используемыми совместно с Microsoft Visual Basic .NET). Кроме подпрограмм, с помощью .NET Framework можно определять пользовательские типы (UDT) и определяемые пользователем агрегатные функции. Определяемые пользователем типы и определяемые пользователем статистические функции сопоставляются с целыми классами .NET Framework.

Каждый вид подпрограммы .NET Framework имеет декларацию Transact-SQL и может использоваться в SQL Server везде, где может использоваться его эквивалент Transact-SQL. Например, скалярные определяемые пользователем функции могут использоваться во всех скалярных выражениях. Возвращающая табличное значение функция может использоваться в любом предложении FROM. Процедура может вызываться в инструкции EXEC или из клиентского приложения.

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

Выполнение объекта CLR (определяемой пользователем функции, определяемого пользователем типа или триггера) в среде CLR может производиться в нескольких потоках (параллельный план), если оптимизатор запросов посчитает это более выгодным. Однако, если доступ к данным выполняет определяемая пользователем функция, выполнение будет осуществляться согласно последовательному плану. При выполнении на версии сервера, более ранней, чем SQL Server 2008, в случае, если определяемая пользователем функция содержит параметры больших объектов (LOB) или возвращает значения, выполнение также должно производиться согласно последовательному плану. Дополнительные сведения см. в разделе Параллельная обработка запросов.

Обратите внимание, что Visual Studio .NET 2003 нельзя использовать для программирования в интеграции со средой CLR. SQL Server включает предварительно установленную платформу .NET Framework, а Visual Studio .NET 2003 не может использовать сборки .NET Framework версии 2.0.

В следующей таблице приводится список подразделов этого раздела.