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


Начало работы с проектами базы данных SQL

Область применения: SQL Server 2022 (16.x) База данных SQL Azure Управляемый экземпляр SQL Azure

Проект базы данных SQL — это локальное представление объектов SQL, составляющих схему для одной базы данных, например таблиц, хранимых процедур или функций. Цикл разработки проекта базы данных SQL позволяет интегрировать разработку базы данных в рабочие процессы непрерывной интеграции и непрерывного развертывания (CI/CD), знакомые как рекомендации по разработке.

В этой статье описывается создание проекта SQL, добавление объектов в проект и создание и развертывание проекта. За исключением инструкций Visual Studio (SQL Server Data Tools), руководство посвящено проектам SQL в стиле ПАКЕТА SDK.

  1. Создание нового проекта
  2. Добавление объектов в проект
  3. Сборка проекта
  4. Развертывание проекта

Необходимые компоненты

# install SqlPackage CLI
dotnet tool install -g Microsoft.SqlPackage

# install Microsoft.Build.Sql.Templates
dotnet new install Microsoft.Build.Sql.Templates

Примечание.

Чтобы завершить развертывание проекта базы данных SQL, необходимо получить доступ к экземпляру SQL Azure или SQL Server. Вы можете разрабатывать локально бесплатно с помощью выпуска разработчика SQL Server в Windows или в контейнерах.

Шаг 1. Создание проекта

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

Выберите "Файл", "Создать", а затем "Проект".

В диалоговом окне "Новый проект" используйте термин SQL Server в поле поиска. Главным результатом должен быть проект базы данных SQL Server.

Снимок экрана: диалоговое окно

Нажмите Далее, чтобы перейти к следующему шагу. Укажите имя проекта, которое не обязательно соответствует имени базы данных. Проверьте и измените расположение проекта по мере необходимости.

Выберите Создать, чтобы создать проект. Пустой проект открывается и отображается в Обозреватель решений для редактирования.

Выберите "Файл", "Создать", а затем "Проект".

В диалоговом окне "Новый проект" используйте термин SQL Server в поле поиска. Главным результатом должно быть проект базы данных SQL Server, стиль пакета SDK (предварительная версия).

Снимок экрана: диалоговое окно

Нажмите Далее, чтобы перейти к следующему шагу. Укажите имя проекта, которое не обязательно соответствует имени базы данных. Проверьте и измените расположение проекта по мере необходимости.

Выберите Создать, чтобы создать проект. Пустой проект открывается и отображается в Обозреватель решений для редактирования.

В представлении проектов баз данных VS Code или Azure Data Studio нажмите кнопку "Создать проект".

Снимок экрана: new viewlet.

Первый запрос определяет, какой шаблон проекта следует использовать, в первую очередь, на основе того, является ли целевая платформа SQL Server или SQL Azure. Если появится запрос на выбор определенной версии SQL, выберите версию, соответствующую целевой базе данных, но если целевая версия базы данных неизвестна, выберите последнюю версию в качестве значения позже.

Введите имя проекта в появившемся текстовом вводе, которое не обязательно совпадает с именем базы данных.

В появившемся диалоговом окне "Выбор папки" выберите каталог для папки, .sqlproj файла и другого содержимого проекта.

При появлении запроса на создание проекта в стиле SDK (предварительная версия) нажмите кнопку "Да".

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

С установленными шаблонами .NET для проектов Microsoft.Build.Sql можно создать новый проект базы данных SQL из командной строки. Параметр -n указывает имя проекта, а -tp параметр указывает целевую платформу проекта.

Используйте этот параметр, чтобы просмотреть все доступные -h параметры.

# install Microsoft.Build.Sql.Templates
dotnet new sqlproject -n MyDatabaseProject

Шаг 2. Добавление объектов в проект

В Обозреватель решений щелкните правой кнопкой мыши узел проекта и выберите "Добавить", а затем "Таблица". Откроется диалоговое окно "Добавить новый элемент ", где можно указать имя таблицы. Нажмите кнопку "Добавить ", чтобы создать таблицу в проекте SQL.

Таблица открывается в конструкторе таблиц Visual Studio с определением таблицы шаблона, где можно добавлять столбцы, индексы и другие свойства таблицы. Сохраните файл после завершения первоначального редактирования.

Дополнительные объекты базы данных можно добавить с помощью диалогового окна "Добавление нового элемента ", таких как представления, хранимые процедуры и функции. Откройте диалоговое окно, щелкнув правой кнопкой мыши узел проекта в Обозреватель решений и выбрав "Добавить", а затем выберите нужный тип объекта. Файлы в проекте можно упорядочить в папки с помощью параметра "Создать папку " в разделе "Добавить".

В Обозреватель решений щелкните правой кнопкой мыши узел проекта и выберите "Добавить", а затем "Создать элемент". Откроется диалоговое окно "Добавить новый элемент ", выберите " Показать все шаблоны " и " Таблица". Укажите имя таблицы в качестве имени файла и нажмите кнопку "Добавить ", чтобы создать таблицу в проекте SQL.

Таблица открывается в редакторе запросов Visual Studio с определением таблицы шаблона, где можно добавлять столбцы, индексы и другие свойства таблицы. Сохраните файл после завершения первоначального редактирования.

Дополнительные объекты базы данных можно добавить с помощью диалогового окна "Добавление нового элемента ", таких как представления, хранимые процедуры и функции. Откройте диалоговое окно, щелкнув правой кнопкой мыши узел проекта в Обозреватель решений и выбрав "Добавить", а затем выберите нужный тип объекта после отображения всех шаблонов. Файлы в проекте можно упорядочить в папки с помощью параметра "Создать папку " в разделе "Добавить".

В представлении проектов баз данных VS Code или Azure Data Studio щелкните правой кнопкой мыши узел проекта и выберите "Добавить таблицу". В появившемся диалоговом окне укажите имя таблицы.

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

Дополнительные объекты базы данных можно добавить с помощью контекстного меню на узле проекта, таких как представления, хранимые процедуры и функции. Откройте диалоговое окно, щелкнув правой кнопкой мыши узел проекта в представлении "Проекты баз данных" VS Code или Azure Data Studio, а затем нужный тип объекта. Файлы в проекте можно упорядочить в папки с помощью параметра "Создать папку " в разделе "Добавить".

Файлы можно добавить в проект, создав их в каталоге проекта или вложенных папках. Расширение файла должно быть .sql и организацией по типу объекта или схеме и типу объекта рекомендуется.

Базовый шаблон таблицы можно использовать в качестве отправной точки для создания нового объекта таблицы в проекте:

CREATE TABLE [dbo].[Table1]
(
  [Id] INT NOT NULL PRIMARY KEY
)

Шаг 3. Компиляция проекта

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

В Обозреватель решений щелкните правой кнопкой мыши узел проекта и выберите "Сборка".

Окно вывода автоматически открывается для отображения процесса сборки. При возникновении ошибок или предупреждений они отображаются в окне вывода. В успешной сборке создается артефакт сборки (.dacpac файл) его расположение включается в выходные данные сборки (по умолчанию bin\Debug\projectname.dacpac).

В Обозреватель решений щелкните правой кнопкой мыши узел проекта и выберите "Сборка".

Окно вывода автоматически открывается для отображения процесса сборки. При возникновении ошибок или предупреждений они отображаются в окне вывода. В успешной сборке создается артефакт сборки (.dacpac файл) его расположение включается в выходные данные сборки (по умолчанию bin\Debug\projectname.dacpac).

В представлении проектов баз данных VS Code или Azure Data Studio щелкните правой кнопкой мыши узел проекта и выберите "Сборка".

Окно вывода автоматически открывается для отображения процесса сборки. При возникновении ошибок или предупреждений они отображаются в окне вывода. В успешной сборке создается артефакт сборки (.dacpac файл) его расположение включается в выходные данные сборки (по умолчанию bin/Debug/projectname.dacpac).

Проекты базы данных SQL можно создавать из командной dotnet build строки с помощью команды.

dotnet build

# optionally specify the project file
dotnet build MyDatabaseProject.sqlproj

Выходные данные сборки включают любые ошибки или предупреждения, а также определенные файлы и номера строк, в которых они происходят. В успешной сборке создается артефакт сборки (.dacpac файл) его расположение включается в выходные данные сборки (по умолчанию bin/Debug/projectname.dacpac).

Шаг 4. Развертывание проекта

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

В Обозреватель решений щелкните правой кнопкой мыши узел проекта и выберите "Опубликовать...".

Откроется диалоговое окно публикации, в котором устанавливается подключение к целевой базе данных. Если у вас нет существующего экземпляра SQL для развертывания, LocalDB ((localdb)\MSSQLLocalDB) устанавливается в Visual Studio и может использоваться для тестирования и разработки.

Укажите имя базы данных и выберите "Опубликовать ", чтобы развернуть проект в целевой базе данных или создать скрипт, чтобы создать скрипт для проверки перед выполнением.

В Обозреватель решений щелкните правой кнопкой мыши узел проекта и выберите "Опубликовать...".

Откроется диалоговое окно публикации, в котором устанавливается подключение к целевой базе данных. Если у вас нет существующего экземпляра SQL для развертывания, LocalDB ((localdb)\MSSQLLocalDB) устанавливается в Visual Studio и может использоваться для тестирования и разработки.

Укажите имя базы данных и выберите "Опубликовать ", чтобы развернуть проект в целевой базе данных или создать скрипт, чтобы создать скрипт для проверки перед выполнением.

В представлении проектов баз данных VS Code или Azure Data Studio щелкните правой кнопкой мыши узел проекта и выберите "Опубликовать".

Совет

Если у вас нет доступного экземпляра SQL для развертывания, расширение База данных SQL Projects может создать локальный экземпляр SQL Server для вас в новом контейнере. При запуске среды выполнения контейнера, например Docker Desktop, выберите "Опубликовать" в новом контейнере локальной разработки SQL Server из раскрывающегося списка.

Если у вас есть существующий экземпляр SQL для развертывания, выберите "Опубликовать" на существующем сервере SQL Server , а затем не используйте профиль , если появится запрос на публикацию профиля.

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

После настройки подключения начнется процесс развертывания. Вы можете выбрать автоматическое выполнение развертывания (опубликовать) или создать скрипт для проверки перед выполнением (создать скрипт).

Интерфейс командной строки SqlPackage используется для развертывания .dacpac файла в целевой базе данных с действием публикации.

Например, чтобы развернуть .dacpac файл в целевой базе данных на основе строка подключения:

sqlpackage /Action:Publish /SourceFile:bin/Debug/projectname.dacpac /TargetConnectionString:{yourconnectionstring}

Получить помощь