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


Создание хранимых процедур

Для использования любой хранимой процедуры необходимо, чтобы она была связана с классом среды CLR или модели COM. Этот класс должен быть установлен на сервере (обычно в виде DLL-библиотеки Microsoft ActiveX®) и зарегистрирован как сборка на сервере или в базе данных служб Службы Analysis Services.

Хранимые процедуры регистрируются на сервере или в базе данных. Серверные хранимые процедуры могут вызываться из контекста любого запроса. Доступ к хранимым процедурам базы данных имеется, только если контекст базы данных представляет собой базу данных, в которой определена хранимая процедура. Если функции из одной сборки вызывают функции из другой сборки, то необходимо зарегистрировать обе сборки в одном и том же контексте (сервера или базы данных). Для сервера или развернутой базы данных служб Microsoft SQL Server Службы Analysis Services на сервере можно использовать среду Среда SQL Server Management Studio для регистрации сборки. Для проекта служб Службы Analysis Services можно использовать конструктор служб Службы Analysis Services для регистрации сборки в проекте.

Примечание по безопасностиПримечание по безопасности

Использование сборок COM может представлять угрозу безопасности. По этой причине, а также по ряду других сборки COM в службах Службы SQL Server 2008 Analysis Services (SSAS) являются устаревшими. Поддержка сборок COM в последующих версиях может быть прекращена.

Регистрация серверной сборки

В обозревателе объектов в среде Среда SQL Server Management Studio список серверных сборок приведен в папке «Сборки» под экземпляром служб Службы Analysis Services. Серверные сборки могут содержать как сборки .NET (среды CLR), так и библиотеки COM.

Создание серверной сборки

  1. Разверните экземпляр служб Службы Analysis Services в обозревателе объектов, щелкните правой кнопкой мыши папку Сборки, а затем выберите пункт Создать сборку. Отобразится диалоговое окно Регистрация серверной сборки.

  2. Для параметра Тип задайте тип сборки.

    • Для DLL-библиотеки управляемого кода (среда CLR) задайте сборку .NET.

    • Для DLL-библиотеки собственного кода (COM) укажите COM DLL.

  3. В поле Имя файла укажите DLL-библиотеку, содержащую хранимые процедуры.

  4. В поле Имя сборки укажите имя сборки.

  5. Если это отладочная сборка библиотеки, которую предполагается использовать для отладки хранимых процедур, установите флажок Включить отладочные данные. Дополнительные сведения об отладке хранимых процедур см. в разделе Отладка хранимых процедур.

  6. Можно нажать кнопку ОК, чтобы немедленно зарегистрировать сборку, или выбрать команду на панели инструментов окна в меню Скрипт, чтобы внести действие регистрации в скрипте в окне запросов, в файл или в буфер обмена.

После регистрации серверной сборки ее можно настроить, щелкнув ее правой кнопкой мыши в обозревателе объектов, а затем выбрав пункт Свойства.

Регистрация сборки базы данных на сервере

В обозревателе объектов в среде Среда SQL Server Management Studio список сборок базы данных приведен в папке «Сборки» под базой данных служб Службы Analysis Services. Сборки баз данных могут содержать как сборки .NET (среда CLR), так и библиотеки COM.

Создание сборки базы данных на сервере

  1. Разверните экземпляр базы данных служб Службы Analysis Services в обозревателе объектов, щелкните правой кнопкой мыши папку Сборки, а затем выберите пункт Создать сборку. Отобразится диалоговое окно Регистрация сборки базы данных.

  2. Для параметра Тип задайте тип сборки.

    • Для DLL-библиотеки управляемого кода (среда CLR) задайте сборку .NET.

    • Для DLL-библиотеки собственного кода (COM) укажите COM DLL.

  3. В поле Имя файла укажите DLL-библиотеку, содержащую хранимые процедуры.

  4. В поле Имя сборки укажите имя сборки.

  5. Если это отладочная сборка библиотеки, которую предполагается использовать для отладки хранимых процедур, установите флажок Включить отладочные данные. Дополнительные сведения об отладке хранимых процедур см. в разделе Отладка хранимых процедур.

  6. Можно нажать кнопку ОК, чтобы немедленно зарегистрировать сборку, или выбрать команду на панели инструментов окна в меню Скрипт, чтобы внести действие регистрации в скрипт в окне запросов, в файл или в буфер обмена.

После регистрации сборки базы данных ее можно настроить, щелкнув ее правой кнопкой мыши в обозревателе объектов, а затем выбрав пункт Свойства.

Регистрация сборки базы данных в проекте

В обозревателе объектов в среде SQL Server Data Tools (SSDT) список сборок базы данных приведен в папке «Сборки» под проектом служб Службы Analysis Services. Сборки баз данных могут содержать как сборки .NET (среда CLR), так и библиотеки COM.

Создание сборки базы данных в проекте служб Analysis Service

  1. Разверните экземпляр базы данных служб Службы Analysis Services в обозревателе объектов, щелкните правой кнопкой мыши папку Сборки, а затем выберите пункт Создать ссылку на сборку. Отобразится диалоговое окно Добавление ссылки. На вкладке .NET диалогового окна Добавление ссылки содержится список существующих сборок .NET (среды CLR), а на вкладке Проекты содержится список проектов.

  2. Можно щелкнуть существующий компонент или проект, а затем нажать кнопку Добавить, чтобы добавить его к проекту служб Службы Analysis Services. Чтобы добавить ссылку на DLL-библиотеку COM, перейдите на вкладку Обзор, чтобы найти файл. В списке Выбранные проекты и компоненты отображаются имена, типы, версии и местоположения всех компонентов, добавляемых к проекту.

  3. По окончании выбора компонентов для добавления нажмите кнопку ОК, чтобы добавить их к проекту служб Службы Analysis Services.

Формат скрипта для сборки

Регистрация сборки .NET довольно проста. Сборка .NET добавляется к базе данных в бинарном виде с использованием следующего формата:

<Create>
   <ObjectDefinition>
      <Assembly>
         <Files>
            <File>
               <Name>filename</Name>
               <Type>filetype</Type>
               <Data>
                  <Block>binarydatablock</Block>
                  <Block>binarydatablock</Block>
                  ...
               </Data>
            </File>
         </Files>
         <PermissionSet>PermissionSet</PermissionSet>
      </Assembly>
   <ObjectDefinition>
</Create>

См. также

Основные понятия

Управление сборками многомерной модели

Определение хранимых процедур