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


Средства проектов SQL

Инструменты для проектов SQL доступны в нескольких средах разработки и интерфейсах командной строки. Основными инструментами для проектов SQL являются служебная программа командной строки SqlPackage, SQL Server Data Tools (SSDT) в Visual Studio, а также расширение База данных SQL Projects для Azure Data Studio и Visual Studio Code.

Средства, включенные в эту статью:

Графические средства

Эти средства предоставляют графический интерфейс для проектов SQL, редактора T-SQL и процесса сборки и публикации.

SQL Server Data Tools (SSDT) — это компонент Visual Studio, который предоставляет графический интерфейс для проектов SQL. SSDT предоставляет визуальный конструктор таблиц, редактор T-SQL и процесс сборки и публикации.

расширение База данных SQL Projects — это расширение для Azure Data Studio (ADS) и VS Code. Это расширение предоставляет графический интерфейс для проектов SQL, редактора T-SQL и процесса сборки и публикации.

Сравнение набора компонентов

Функция SSDT в стиле SDK SSDT ADS VS Code
Создание пустого проекта X X X X
Создание проекта из существующей базы данных X X X
Открытие существующих проектов Microsoft.Build.Sql X X X
Управление решениями и операции X X
Сборка запуска проекта X X X X
Публикация проекта на существующем сервере X X X X
Публикация проекта на локальный сервер разработки X1 X1 X2 X2
Параметры/свойства публикации X X X
Целевая платформа может быть обновлена X X X X
Переменные SQLCMD X X X X
Ссылки на проекты X X
Ссылки Dacpac X X X
Ссылки на пакеты X
Публикация создания профиля X X X
Файлы SQL можно добавить, поместив в папку проекта X X X
Файлы SQL можно исключить из сборки X X
Скрипты предварительного и последующего развертывания X X X X
Новые шаблоны объектов X3 X X3 X3
Файлы проекта можно упорядочить в папки X X X X
Проект сравнения схем с базой данных X X
Сравнение схемы базы данных с проектом X X
Графический конструктор таблиц X X
Анализ кода — включение и отключение правил X
Свойства проекта — параметры выходных данных сборки X X
Свойства проекта — схема по умолчанию X
Свойства проекта — параметры базы данных X
Автономный запуск анализа кода проекта X
Переименование и рефакторинг объектов X
Intellisense предоставляется в файлах базы данных из модели проекта X
Подключение и просмотр объектов обозревателя объектов SQL Server X X X X
Контекстное меню обозревателя объектов SQL Server X X X
Подключение редактора запросов SQL Server X X X
  1. Локальный экземпляр разработки — это экземпляр SQL Server LocalDB.
  2. Локальный экземпляр разработки — это контейнер SQL Server.
  3. Ограниченное подмножество доступных шаблонов

Средства командной строки

SqlPackage — это основная программа командной строки для библиотеки DacFx, обеспечивающая автоматизацию задач разработки баз данных, таких как развертывание .dacpac базы данных в базе данных или извлечение объектов базы данных в проект SQL или .dacpac.

Пользовательские консольные приложения можно создавать с помощью библиотеки DacFx .NET для автоматизации задач разработки баз данных. Пространство имен Microsoft.SqlServer.Dac содержит классы для создания, развертывания и извлечения объектов базы данных и служит основой для остальной части библиотеки DacFx.

Конвейеры CI/CD можно создавать с помощью выполнения команд в командной строке или с использованием специфических задач для развертывания проектов .dacpac и SQL. GitHub sql-action и SqlAzureDacpacDeployment в Azure DevOps являются примерами задач, использующих SqlPackage под уровнем управления для упрощения развертывания изменений базы данных.

Средства преобразования

Процесс преобразования существующего проекта SQL в проект в стиле ПАКЕТА SDK выполняется вручную, изменив .sqlproj файл, чтобы включить новый формат проекта в стиле ПАКЕТА SDK. Перед началом процесса рекомендуется создать резервную копию файла проекта и заархивировать версию проекта в .dacpac. Сравнивая "до" и "после" .dacpac , созданные из проекта, можно убедиться, что процесс преобразования выполнен правильно.

Управление проектами и решениями

Несколько проектов SQL (и других проектов) можно логически сгруппировать в файл решения. Файл решения — это контейнер для одного или нескольких проектов и используется для управления проектами в качестве группы, включая действие сборки. Крупные решения можно разбить на небольшие решения для повышения производительности и управляемости, а также динамически создаваться для соответствующей задачи. Генератор файлов решения slngen доступен для проектов Microsoft.Build.Sql и может использоваться для создания файла решения для набора проектов программно и по запросу.

Сторонние средства

Существуют сторонние средства, которые предоставляют функциональные возможности, связанные с проектами SQL и развертыванием базы данных. Некоторые средства открытый код, например dbatools.

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