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

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

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

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

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

расширение SQL Database Projects является расширением для Visual Studio Code. Это расширение предоставляет графический интерфейс для проектов SQL, редактора T-SQL и процесса сборки и публикации.

Database DevOps в SQL Server Management Studio (SSMS) предоставляет графический интерфейс для проектов SQL, редактора T-SQL и процесса сборки и публикации.

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

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

Функция Visual Studio Code SSMS SSDT (VS2022-2026) SSDT в стиле SDK (предварительная версия) (VS2022)
Создание пустого проекта Да Да Да Да
Создание проекта из существующей базы данных Да Да Да Да
Откройте существующие проекты Microsoft.Build.Sql Да Да нет Да
Открытие проектов в оригинальном стиле (SSDT) Да нет Да нет
Управление решениями и операции нет Да Да Да
запуск сборки Project Да Да Да Да
Публикация проекта на существующем сервере Да Да Да Да
Публикация проекта на локальный сервер разработки Да1 Да2 Да3 Да3
Параметры/свойства публикации Да Да Да Да
Целевая платформа может быть обновлена Да Да Да Да
Переменные SQLCMD Да Да Да Да
Ссылки на проект Да Да Да Да
Ссылки НА DACPAC Да Да Да Да
Ссылки на пакеты Да Да нет нет
Публикация создания профиля Да нет Да Да
Файлы SQL можно добавить, поместив в папку проекта Да Да нет Да
Файлы SQL можно исключить из сборки Да Да Да нет
Скрипты предварительного развертывания и после развертывания Да Да Да Да
Новые шаблоны объектов Да4 Да Да Да4
Файлы проекта можно организовать по папкам Да Да Да Да
Проект сравнения схем с базой данных Да нет Да Да
Сравнение схемы базы данных с проектом Да нет Да нет
Графический конструктор таблиц нет нет Да Да
Анализ кода — включение и отключение графического интерфейса правил Да Да Да нет
Свойства проекта — настройки вывода сборки нет нет Да Да
свойства Project — параметры базы данных GUI нет нет Да нет
Запустить проект анализа кода code analysis Да Да Да нет
Переименование и рефакторинг объектов нет нет Да нет
Intellisense предоставляется в файлах базы данных из модели проекта нет нет Да нет

1 Локальный экземпляр разработки — это контейнер SQL Server.
2 Любая предварительно установленная база данных Microsoft SQL может быть использована в качестве локального экземпляра разработки.
3 Локальный экземпляр разработки — это экземпляр SQL Server LocalDB.
4 Ограниченное подмножество доступных шаблонов.

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

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 и может использоваться для создания файла решения для набора проектов программно и по запросу.

Roadmap

Ежеквартальная дорожная карта возможностей, связанных с проектами SQL, доступна по адресу https://aka.ms/sqlprojects-roadmap. Отзывы клиентов сильно влияют на стратегию развития, которая включает модернизацию возможностей проектов Microsoft.Build.Sql и улучшение инструментов, связанных с проектами SQL.

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

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

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