Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Проект базы данных SQL — это локальное представление объектов SQL, составляющих схему для одной базы данных, например таблиц, хранимых процедур или функций. Цикл разработки проекта базы данных SQL помогает интегрировать разработку баз данных в знакомые рабочие процессы непрерывной интеграции и непрерывного развертывания (CI/CD), которые считаются лучшими практиками разработки. В SSMS можно использовать Microsoft.Build.Sql проекты в предварительной версии для реализации, управления и совместной работы с изменениями базы данных, предоставляя локальное определение объектов базы данных.
В этой статье описывается, как использовать проекты баз данных SQL в SQL Server Management Studio (SSMS) в рамках рабочих процессов DevOps для баз данных или как основу для них. Дополнительные сведения о проектах базы данных SQL см. в проектах базы данных SQL.
Необходимые условия
- Пакет SDK для .NET
- SQL Server Management Studio (SSMS)
- Нагрузка DevOps базы данных, установленная в SSMS
Создание нового проекта
Для работы с проектами базы данных SQL в SSMS требуется локальная папка, содержащая файлы проекта. Проект можно запустить, извлекая объекты из существующей базы данных или создавая файлы объектов с нуля.
Замечание
SSMS может предложить подключиться к серверу при открытии файла из обозревателя решений. Вы можете выполнять разработку проекта базы данных SQL в автономном режиме без подключения к базе данных.
Добавление объектов из существующей базы данных
Используйте SqlPackage для извлечения схемы из существующей базы данных в отдельные .sql файлы, упорядоченные по типу объекта. Выполните следующую команду, чтобы создать структуру папок с объектами базы данных:
sqlpackage /Action:Extract /SourceConnectionString:"<connection-string>" /TargetFile:"<temp-folder>" /p:ExtractTarget=SchemaObjectType
Параметр /p:ExtractTarget=SchemaObjectType упорядочивает извлеченные файлы в подпапки на основе схемы и типа объекта (например, dbo/Tables, dbo/StoredProcedures). Извлеките временную папку за пределами каталога проекта и скопируйте требуемое содержимое в папку проекта с помощью проводника Windows.
Дополнительные сведения о параметрах извлечения SqlPackage можно найти в разделе Извлечение SqlPackage.
Создание новых объектов
Добавьте в проект новые объекты базы данных, создав .sql файлы в папке проекта. Каждый файл должен содержать одну CREATE инструкцию для одного объекта базы данных. Например, определение таблицы:
CREATE TABLE [dbo].[Products]
(
[ProductId] INT NOT NULL PRIMARY KEY,
[ProductName] NVARCHAR (100) NOT NULL,
[Price] DECIMAL (10, 2) NOT NULL
);
Упорядочение файлов по схеме и типу объекта с помощью вложенных папок, таких как dbo/Tables или Sales/StoredProcedures. Эта структура соответствует выходным данным извлечения SqlPackage и упрощает поиск объектов по мере роста проекта. Процесс сборки проекта SQL включает все файлы .sql в папке проекта и её подпапках по умолчанию.
SSMS предоставляет шаблоны для распространенных элементов, которые помогут вам приступить к работе. Чтобы добавить новый элемент, щелкните проект правой кнопкой мыши в обозревателе решений, выберите "Добавить>новый элемент" и выберите из списка шаблонов объектов SQL.
Открытие существующих проектов
Чтобы открыть существующий проект базы данных SQL в SSMS, выберите"Открыть>файл>" или "Решение" и перейдите к файлу.sqlproj.
Это важно
SSMS поддерживает только проекты в формате Microsoft.Build.Sql SDK. Минимальная поддерживаемая версия пакета SDK — 2.1.0. Если у вас есть исходный проект SQL, созданный в Visual Studio, необходимо преобразовать его в формат стиля ПАКЕТА SDK перед открытием.
Инструкции по преобразованию исходных проектов SQL в формат пакета SDK см. в статье "Преобразование исходного проекта SQL в проект в стиле ПАКЕТА SDK".
Создание проектов и развертывание изменений
Рабочий процесс проекта SQL состоит из двух основных шагов: создание проекта для проверки и компиляции схемы и развертывание скомпилированных выходных данных в целевой базе данных.
Сборка проекта
Создание проекта SQL проверяет связи между объектами и проверяет синтаксис T-SQL на указанной целевой платформе. Процесс сборки создает .dacpac файл, содержащий скомпилированную модель схемы базы данных.
Чтобы построить проект в SSMS, щелкните проект правой кнопкой мыши в Обозреватель решений и выберите Построить.
Выходные данные сборки отображают любые ошибки или предупреждения. Ошибки указывают на проблемы, которые препятствуют развертыванию, например представление, ссылающееся на таблицу, которая не существует. Предупреждения выделяют потенциальные проблемы, такие как несогласованный регистр в именах объектов.
При успешной сборке файл .dacpac создается в папке bin\Debug внутри каталога вашего проекта.
Дополнительные сведения об устранении неполадок сборки см. в разделе "Устранение ошибок сборки проекта SQL".
Развертывание изменений
После создания проекта разверните .dacpac в целевую базу данных, используя диалоговое окно публикации в SSMS. Процесс развертывания сравнивает .dacpac с целевой базой данных и создает необходимые CREATE, ALTER или DROP операторы для синхронизации базы данных с вашим проектом.
Чтобы развернуть, щелкните проект правой кнопкой мыши в обозревателе решений и выберите "Опубликовать". В диалоговом окне "Публикация" настройте подключение целевой базы данных и выберите "Опубликовать ", чтобы применить изменения или создать скрипт , чтобы просмотреть скрипт развертывания перед выполнением.
Процесс публикации является идемпотентным, поэтому одно и то же .dacpac можно развернуть несколько раз без возникновения проблем. Этот подход позволяет развертывать в нескольких средах (разработка, стадия тестирования, продакшн) с помощью одного скомпилированного артефакта.
Подробные сведения о параметрах развертывания и конфигурации см. в статье "Начало работы с проектами базы данных SQL".