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


Создание определяемых пользователем статистических функций

Можно создать объект базы данных внутри SQL Server, который запрограммирован в сборке CLR. В число объектов базы данных, способных эффективно использовать предоставляемую средой CLR многофункциональную модель программирования, входят триггеры, хранимые процедуры, функции, статистические функции и типы.

Подобно встроенным статистическим функциям, предоставленным в Transact-SQL, пользовательские статистические функции производят вычисление в ряде значений и возвращают одиночное значение.

Создание пользовательской статистической функции в SQL Server включает в себя следующие шаги.

  • Определите пользовательскую статистическую функцию как класс на языке, поддерживаемом платформой Microsoft .NET. Дополнительные сведения о программировании определяемых пользователем статистических функций в среде CLR см. в разделе Пользовательские статистические функции среды CLR. Скомпилируйте этот класс для построения сборки среды CLR, используя соответствующий языку компилятор.

  • Зарегистрируйте сборку в SQL Server с помощью инструкции CREATE ASSEMBLY. Дополнительные сведения о сборках в SQL Server см. в разделе Сборки (компонент Database Engine).

  • Создайте пользовательское статистическое выражение, которое ссылается на зарегистрированную сборку, используя инструкцию CREATE AGGREGATE.

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

При развертывании проекта SQL Server в MicrosoftVisual Studio сборка регистрируется в базе данных, указанной для данного проекта. Развертывание проекта также создает пользовательские статистические функции в базе данных для всех классов, которые могут иметь атрибут SqlUserDefinedAggregate. Дополнительные сведения см. в разделе Развертывание объектов базы данных CLR.

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

Возможность SQL Server выполнять код CLR по умолчанию отключена. Можно создавать, изменять и удалять объекты базы данных, которые ссылаются на модули управляемого кода, но эти ссылки не будут выполнены в SQL Server, пока параметр clr enabled не получит значение True с помощью хранимой процедуры sp_configure (Transact-SQL).

Создание, изменение или удаление сборки

Создание пользовательской статистической функции