Развертывание объектов базы данных CLR

Область применения: SQL Server

Развертывание — это процесс, посредством которого распространяется завершенное приложение или модуль, который необходимо запустить на другом компьютере. С помощью Microsoft Visual Studio можно разрабатывать объекты базы данных среды CLR и развертывать их на тестовом сервере. Кроме того, объекты управляемой базы данных также можно скомпилировать с файлами распространения Microsoft платформа .NET Framework вместо Visual Studio. После компиляции сборки, содержащие объекты базы данных CLR, можно развернуть на тестовом сервере с помощью инструкций Visual Studio или Transact-SQL. Обратите внимание, что среду Visual Studio .NET 2003 нельзя использовать для программирования или развертывания в интеграции со средой CLR. SQL Server включает предварительно установленную платформа .NET Framework, а Visual Studio .NET 2003 не может использовать сборки платформа .NET Framework 2.0.

После тестирования и проверки методов CLR на тестовом сервере их можно распространить на рабочих серверах с помощью скрипта развертывания. Скрипт развертывания можно создать вручную или с помощью SQL Server Management Studio (см. процедуру далее в этом разделе).

Функция интеграции CLR отключена по умолчанию в SQL Server и должна быть включена для использования сборок СРЕДЫ CLR. Дополнительные сведения см. в статье Enabling CLR Integration.

Развертывание сборки на тестовом сервере

С помощью среды Visual Studio можно разрабатывать функции CLR, процедуры, триггеры, определяемые пользователем типы или определяемые пользователем статистические функции и развертывать их на тестовом сервере. Эти управляемые объекты базы данных также можно скомпилировать с помощью компиляторов командной строки, таких как csc.exe и vbc.exe, входящих в состав файлов распространения платформы .NET Framework. Интегрированная среда разработки Visual Studio не требуется для разработки объектов управляемой базы данных для SQL Server.

Убедитесь, что все ошибки и предупреждения компилятора устранены. Затем сборки, содержащие подпрограммы CLR, можно зарегистрировать в базе данных SQL Server с помощью инструкций Visual Studio или Transact-SQL.

Примечание.

Сетевой протокол TCP/IP должен быть включен в экземпляре SQL Server, чтобы использовать Microsoft Visual Studio для удаленной разработки, отладки и разработки. Дополнительные сведения о включении протокола TCP/IP на сервере см. в разделе "Настройка клиентских протоколов".

Развертывание сборки с помощью среды Visual Studio

  1. Создайте проект, выбрав имя проекта сборкименю "Сборка>".

  2. Перед развертыванием сборки на тестовом сервере устраните все ошибки и предупреждения, полученные во время построения.

  3. Выберите "Развернуть" в меню "Сборка". Затем сборка будет зарегистрирована в экземпляре SQL Server и базе данных, указанной при создании проекта SQL Server в Visual Studio.

Развертывание сборки с помощьюTransact-SQL

  1. Выполните компиляцию сборки из исходного файла с помощью компиляторов командной строки из состава платформы .NET Framework.

  2. Для исходных файлов Microsoft Visual C#:

  3. csc /target:library C:\helloworld.cs

  4. Для исходных файлов Microsoft Visual Basic:

vbc /target:library C:\helloworld.vb

Эти команды запускают компилятор Visual C# или Visual Basic с помощью параметра /target , чтобы указать сборку библиотеки DLL.

  1. Перед развертыванием сборки на тестовом сервере устраните все ошибки и предупреждения, полученные во время построения.

  2. Откройте СРЕДУ SQL Server Management Studio на тестовом сервере. Создайте новый запрос, соединенный с подходящей тестовой базой данных (например AdventureWorks).

  3. Создайте сборку на сервере, добавив в запрос следующий код Transact-SQL.

CREATE ASSEMBLY HelloWorld from 'c:\helloworld.dll' WITH PERMISSION_SET = SAFE;

  1. Затем необходимо создать процедуру, функцию, агрегат, определяемый пользователем тип или триггер в экземпляре SQL Server. Если сборка HelloWorld содержит метод HelloWorld в классе Procedures, в запрос можно добавить следующий код Transact-SQL, чтобы создать процедуру с именем hello в SQL Server.

CREATE PROCEDURE hello

AS

EXTERNAL NAME HelloWorld.Procedures.HelloWorld

Дополнительные сведения о создании различных типов объектов управляемой базы данных в SQL Server см. в разделе "Определяемые пользователем функции CLR", определяемые пользователем clR агрегаты, определяемые пользователем типы СРЕДЫ CLR, хранимые процедуры CLR и триггеры СРЕДЫ CLR.

Развертывание сборки на рабочих серверах

После тестирования и проверки CLR-объектов базы данных на тестовом сервере их можно распространить на рабочих серверах с помощью сценария развертывания. Дополнительные сведения об отладке объектов управляемой базы данных см. в разделе Отладка объектов базы данных CLR.

Развертывание объектов управляемой базы данных аналогично развертыванию обычных объектов базы данных (таблиц, подпрограмм Transact-SQL и т. д.). Сборки, содержащие CLR-объекты базы данных, можно развертывать на других серверах с помощью скрипта развертывания. Скрипт развертывания можно создать с помощью функции Создания скриптов в Среде Management Studio. Скрипт развертывания можно создать вручную или с помощью функции «Создание скриптов», после чего изменить вручную. После создания скрипта развертывания его можно запустить на других экземплярах SQL Server, чтобы развернуть управляемые объекты базы данных.

Создание скрипта развертывания с помощью функции создания скриптов

  1. Откройте Management Studio и подключитесь к экземпляру SQL Server, где зарегистрирована управляемая сборка или объект базы данных.

  2. В обозреватель объектов разверните <имя> сервера и деревья баз данных. Щелкните правой кнопкой мыши базу данных, в которой зарегистрирован объект управляемой базы данных, выберите "Задачи", а затем выберите " Создать скрипты". Откроется мастер скриптов.

  3. Выберите базу данных из списка и нажмите кнопку "Далее".

  4. В области "Выбор параметров сценария" нажмите кнопку "Далее" или измените параметры и нажмите кнопку "Далее".

  5. В области "Выбор типов объектов" выберите тип объекта базы данных, который необходимо развернуть. Нажмите кнопку Далее.

  6. Для каждого типа объекта, выбранного в области "Выбор типов объектов", отображается область "Выбор <типа> ". На этой панели можно выбирать из всех экземпляров этого типа объекта базы данных, зарегистрированного в указанной базе данных. Выберите один или несколько объектов и нажмите кнопку "Далее".

  7. Область параметров вывода возникает, когда выбраны все нужные типы объектов базы данных. Выберите скрипт для файла и укажите путь к файлу для скрипта. Выберите Далее. Просмотрите выбранные варианты и нажмите кнопку "Готово". Скрипт развертывания сохранится в указанном файле.

Скрипты, выполняемые после развертывания

Существует возможность запуска скриптов, выполняемых после развертывания.

Чтобы добавить такой скрипт, необходимо добавить файл с именем postdeployscript.sql в каталог проекта Visual Studio. Например, щелкните проект правой кнопкой мыши в Обозреватель решений и выберите "Добавить существующий элемент". Добавьте файл в корневой каталог проекта, а не в папку «Тестовые скрипты».

При выполнении развертывания среда Visual Studio запустит данный скрипт после развертывания проекта.

См. также

Основные понятия о программировании интеграции со средой CLR