Развертывание объектов базы данных 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
Создайте проект, выбрав имя проекта сборки<в меню "Сборка>".
Перед развертыванием сборки на тестовом сервере устраните все ошибки и предупреждения, полученные во время построения.
Выберите "Развернуть" в меню "Сборка". Затем сборка будет зарегистрирована в экземпляре SQL Server и базе данных, указанной при создании проекта SQL Server в Visual Studio.
Развертывание сборки с помощьюTransact-SQL
Выполните компиляцию сборки из исходного файла с помощью компиляторов командной строки из состава платформы .NET Framework.
Для исходных файлов Microsoft Visual C#:
csc /target:library C:\helloworld.cs
Для исходных файлов Microsoft Visual Basic:
vbc /target:library C:\helloworld.vb
Эти команды запускают компилятор Visual C# или Visual Basic с помощью параметра /target , чтобы указать сборку библиотеки DLL.
Перед развертыванием сборки на тестовом сервере устраните все ошибки и предупреждения, полученные во время построения.
Откройте СРЕДУ SQL Server Management Studio на тестовом сервере. Создайте новый запрос, соединенный с подходящей тестовой базой данных (например AdventureWorks).
Создайте сборку на сервере, добавив в запрос следующий код Transact-SQL.
CREATE ASSEMBLY HelloWorld from 'c:\helloworld.dll' WITH PERMISSION_SET = SAFE;
- Затем необходимо создать процедуру, функцию, агрегат, определяемый пользователем тип или триггер в экземпляре 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, чтобы развернуть управляемые объекты базы данных.
Создание скрипта развертывания с помощью функции создания скриптов
Откройте Management Studio и подключитесь к экземпляру SQL Server, где зарегистрирована управляемая сборка или объект базы данных.
В обозреватель объектов разверните <имя> сервера и деревья баз данных. Щелкните правой кнопкой мыши базу данных, в которой зарегистрирован объект управляемой базы данных, выберите "Задачи", а затем выберите " Создать скрипты". Откроется мастер скриптов.
Выберите базу данных из списка и нажмите кнопку "Далее".
В области "Выбор параметров сценария" нажмите кнопку "Далее" или измените параметры и нажмите кнопку "Далее".
В области "Выбор типов объектов" выберите тип объекта базы данных, который необходимо развернуть. Нажмите кнопку Далее.
Для каждого типа объекта, выбранного в области "Выбор типов объектов", отображается область "Выбор <типа> ". На этой панели можно выбирать из всех экземпляров этого типа объекта базы данных, зарегистрированного в указанной базе данных. Выберите один или несколько объектов и нажмите кнопку "Далее".
Область параметров вывода возникает, когда выбраны все нужные типы объектов базы данных. Выберите скрипт для файла и укажите путь к файлу для скрипта. Выберите Далее. Просмотрите выбранные варианты и нажмите кнопку "Готово". Скрипт развертывания сохранится в указанном файле.
Скрипты, выполняемые после развертывания
Существует возможность запуска скриптов, выполняемых после развертывания.
Чтобы добавить такой скрипт, необходимо добавить файл с именем postdeployscript.sql в каталог проекта Visual Studio. Например, щелкните проект правой кнопкой мыши в Обозреватель решений и выберите "Добавить существующий элемент". Добавьте файл в корневой каталог проекта, а не в папку «Тестовые скрипты».
При выполнении развертывания среда Visual Studio запустит данный скрипт после развертывания проекта.
См. также
Основные понятия о программировании интеграции со средой CLR