Создание объектов SQL Server в управляемом коде

Обычно при определении объектов базы данных используется язык программирования Transact-SQL. Однако также можно использовать языки платформы .NET Framework для определения объектов базы данных, таких как хранимые процедуры и триггеры, и извлечения и обновления данных для баз данных SQL Server. Эти объекты часто называются объектами SQL Server со средой CLR или объектами SQL CLR.

Чтобы создать объект базы данных, создайте проект SQL Server, добавьте в него необходимые элементы и добавьте код для этих элементов. Затем постройте проект в сборку и разверните его на SQL Server.

Примечание

По умолчанию функция интеграции среды CLR в SQL Server отключена.Для использования элементов проекта SQL CLR необходимо включить интеграцию со средой CLR.Для этого используйте параметр clr enabled хранимой процедуры sp_configure.Дополнительные сведения см. в разделе Параметр clr enabled на веб-сайте корпорации Майкрософт.

Создание, развертывание и отладка

При построении проекта он компилируется в сборку, которая может быть развернута в отлаженной базе данных, на которую имеется ссылка в проекте.

Примечание

Как альтернативу для построения, развертывания и отладки в качестве трех отдельных этапов можно использовать команду Пуск (F5) или команду Запуск без отладки (Ctrl + F5) для построения сборки, развертывания ее в базу данных и отладки объекта базы данных.Проект базы данных SQL CLR должен быть настроен как запускаемый проект, если необходимо использовать клавишу F5 или сочетание клавиш CTRL+F5.Дополнительные сведения см. в разделе Практическое руководство. Назначение автозагружаемых проектов.

Дополнительно в PreDeployScript.sql и PostDeployScript.sql можно добавить инструкции Transact-SQL. Это можно сделать в случае необходимости выполнить действия с базой данных до или после развертывания проекта базы данных SQL CLR.

Перед отладкой объекта базы данных необходимо добавить код Transact-SQL в скрипт Test.sql или добавить тот же код Transact-SQL в экземпляр редактора Transact-SQL, подключенного к базе данных, в которой развернут проект. Скрипт важен для отладки, так как он выполняет действия в базе данных, необходимые для запуска и проверки объекта базы данных. Если проект базы данных SQL CLR содержит несколько объектов базы данных, скрипт должен включать код Transact-SQL для выполнения каждого объекта базы данных, для которого необходимо выполнить отладку.

Это требование к скрипту отладки отличается от проекта, который создает и выполняет независимую программу, например проекта Windows Forms. Это происходит потому, что объекты базы данных выполняются только в ответ на действия или вызовы в базе данных. Например, триггер может быть активирован при вставке новой строки в таблицу. Поэтому этот скрипт должен вставить новую строку в таблицу для активации триггера. Результаты работы триггера отображаются в Окне вывода в Visual Studio, чтобы можно было определить, правильно ли работает триггер.

Важно!

Для развертывания или отладки сборки SQL CLR необходимо иметь соответствующие разрешения.Дополнительные сведения см. в разделе Разрешения, необходимые для функций баз данных в Visual Studio.

Можно найти примеры кодов для каждого типа объектов базы данных в разделе, посвященном данному типу.

Отладка объектов баз данных

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

Чтобы включить удаленную отладку

  1. В окне Обозреватель решений щелкните правой кнопкой мыши проект SQL CLR, для которого необходимо включить удаленную отладку, и выберите "Свойства".

  2. Перейдите на вкладку Развертывание.

  3. Выберите Развернуть код.

  4. В меню Файл выберите команду Сохранить выбранные элементы.

Для отладки объекта базы данных:

  1. В окне Обозреватель решений щелкните решение.

  2. В меню Отладка щелкните Пуск.

  3. В окне Выходные данные в списке Показать выходные данные от выберите Выходные данные БД для просмотра результатов.

Общие задачи

Общие задачи

Справочные материалы

Дополнительные сведения о проектах базы данных SQL CLR: Прочитайте о преимуществах разработки.Объекты базы данных NET Framework для SQL Server с помощью управляемого кода. Управляемый код имеет ряд преимуществ, по сравнению с Transact-SQL.

Получите практический практике: Выполните Пошаговое руководство для знакомства с как для создания, развертывания и тестирования проекта, определяет хранимой процедуры с помощью управляемого кода.

Создание проекта базы данных SQL CLR: Создайте проект в Visual Basic или Visual C# которые будут содержать определения для объектов базы данных, которые требуется определить.

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

В проекте можно определить несколько объектов. Возможно, потребуется использовать несколько проектов, если объекты необходимо обновлять независимо или если не все объекты используются в каждой базе данных, в которой будет развернута полученная сборка.

Развертывание сборки на сервере SQL и проверить его: После создания проекта, добавления элементов и добавьте код в эти элементы, необходимо развернуть результирующую сборку для SQL Server перед тем, как можно использовать объекты, определенные пользователем. Если проект SQL Server содержит ссылку на один или несколько объектов в другом проекте SQL Server, нельзя использовать команду развертывания в первом проекте для развертывания второго проекта (на который имеется ссылка). После развертывания сборки можно выполнить некоторые простые тесты, выполнив тестовый скрипт.

Отладка развертывания.NET Framework объекты базы данных: Если ваш объект базы данных не работает как предполагалось, можно отлаживать этот объект для выявления и устранения дефектов кода.

Ссылки

  • System.Data
    Описывает пространство имен System.Data и предоставляет таблицы релевантных классов.

  • System.Data.Sql
    Описание пространства имен System.Data.Sql и таблицы релевантных классов.

  • System.Data.SqlTypes
    Пространство имен System.Data.SqlTypes предоставляет классы для собственных типов данных в SQL Server 2005.

  • Microsoft.SqlServer.Server
    Описание пространства имен Microsoft.SqlServer.Server и предоставление таблицы соответствующих классов.

Связанные сценарии

  • Разработка баз данных в среде команды, которые ссылаются.NET Framework объекты базы данных: Можно использовать дополнительные возможности Visual Studio для уменьшения рисков и ускорить разработку приложений баз данных в среде команды. Можно определить схему базы данных в проекте базы данных, поместить проекты под контроль системы управления версиями и создать модульный тест базы данных для проверки ожидаемого поведения.