Развертывание объектов базы данных CLR
Область применения:SQL Server
Развертывание — это процесс, посредством которого распространяется завершенное приложение или модуль, который необходимо запустить на другом компьютере. С помощью Visual Studio можно разрабатывать объекты базы данных среды CLR и развертывать их на тестовом сервере. Кроме того, объекты управляемой базы данных также можно скомпилировать с файлами распространения .NET Framework, а не Visual Studio. После компиляции сборки, содержащие объекты базы данных CLR, можно развернуть на тестовом сервере с помощью инструкций Visual Studio или Transact-SQL.
После тестирования и проверки методов СРЕДЫ CLR на тестовом сервере их можно распространить на рабочие серверы с помощью скрипта развертывания. Скрипт развертывания можно создать вручную или с помощью SQL Server Management Studio (описано далее в этой статье).
Функция интеграции CLR отключена по умолчанию в SQL Server и должна быть включена для использования сборок СРЕДЫ CLR. Дополнительные сведения см. в разделе Enable 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, чтобы использовать Visual Studio для удаленной разработки, отладки и разработки. Дополнительные сведения о включении протокола TCP/IP на сервере см. в разделе "Настройка клиентских протоколов".
Развертывание сборки с помощью Visual Studio
Создайте проект, выбрав имя проекта <сборки> в меню сборки.
Перед развертыванием сборки на тестовом сервере устраните все ошибки и предупреждения, полученные во время построения.
Выберите "Развернуть" в меню "Сборка". Затем сборка регистрируется в экземпляре SQL Server и базе данных, указанной при создании проекта SQL Server в Visual Studio.
Развертывание сборки с помощью Transact-SQL
Выполните компиляцию сборки из исходного файла с помощью компиляторов командной строки из состава платформы .NET Framework.
Для исходных файлов C#:
csc /target:library C:\helloworld.cs
Для исходных файлов Visual Basic:
vbc /target:library C:\helloworld.vb
Эти команды запускают компилятор C# или Visual Basic с помощью параметра /target
, чтобы указать создание библиотеки DLL.
Перед развертыванием сборки на тестовом сервере устраните все ошибки и предупреждения, полученные во время построения.
Откройте СРЕДУ SQL Server Management Studio на тестовом сервере. Создайте новый запрос, подключенный к подходящей тестовой базе данных (например,
AdventureWorks2022
).Создайте сборку на сервере, добавив в запрос следующий код 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, где зарегистрирована управляемая сборка или объект базы данных.
В обозреватель объектов разверните > сервера и деревья баз данных. Щелкните правой кнопкой мыши базу данных, в которой зарегистрирован объект управляемой базы данных, выберите "Задачи", а затем выберите " Создать скрипты". Откроется мастер скриптов.
Выберите базу данных в списке и нажмите кнопку Далее.
В области Выбор параметров скрипта выберите Далееили измените параметры, а затем выберите Далее.
В области "Выбор типов объектов" выберите тип объекта базы данных, который необходимо развернуть. Выберите Далее.
Для каждого типа объекта, выбранного в области "Выбор типов объектов", отображается область "Выбор <типа> ". На этой панели можно выбирать из всех экземпляров этого типа объекта базы данных, зарегистрированного в указанной базе данных. Выберите один или несколько объектов и выберите Next.
Область параметров вывода возникает, когда выбраны все нужные типы объектов базы данных. Выберите скрипт для файла и укажите путь к файлу для скрипта. Выберите Далее. Просмотрите выбранные варианты и выберите Готово. Скрипт развертывания сохранится в указанном файле.
Скрипты после развертывания
Существует возможность запуска скриптов, выполняемых после развертывания.
Чтобы добавить такой скрипт, необходимо добавить файл с именем postdeployscript.sql в каталог проекта Visual Studio. Например, щелкните проект правой кнопкой мыши в Обозреватель решений и выберите "Добавить существующий элемент". Добавьте файл в корневой каталог проекта, а не в папку «Тестовые скрипты».
При выборе развертывания Visual Studio будет запускать этот скрипт после развертывания проекта.