Средства проектов 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 | X1 | X | X | |
Управление решениями и операции | X | X | ||
Сборка запуска проекта | X | X | X | X |
Публикация проекта на существующем сервере | X | X | X | X |
Публикация проекта в локальном экземпляре разработки | X2 | X2 | X3 | X3 |
Параметры публикации и свойства | 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 |
Новые шаблоны объектов | X4 | X | X4 | X4 |
Файлы проекта можно упорядочить в папки | 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 |
- В Visual Studio 2022 ( предварительная версия 2) проекты в стиле SDK используют
.sqlprojx
расширение вместо.sqlproj
. - Локальный экземпляр разработки — это экземпляр SQL Server LocalDB.
- Локальный экземпляр разработки — это контейнер SQL Server.
- Ограниченное подмножество доступных шаблонов
Средства командной строки
SqlPackage — это основная программа командной строки для библиотеки DacFx, обеспечивающая автоматизацию задач разработки баз данных, таких как развертывание .dacpac
базы данных в базе данных или извлечение объектов базы данных в проект SQL или .dacpac
.
Пользовательские консольные приложения можно создавать с помощью библиотеки DacFx .NET для автоматизации задач разработки баз данных. Пространство имен Microsoft.SqlServer.Dac содержит классы для создания, развертывания и извлечения объектов базы данных и является основой для остальной части библиотеки DacFx.
Конвейеры CI/CD можно создавать с помощью выполнения командной строки или задач, относящихся к развертыванию .dacpac
проектов SQL. GitHub sql-action и SqlAzureDacpacDeployment в Azure DevOps являются примерами задач, использующих SqlPackage под уровнем управления для упрощения развертывания изменений базы данных.
Сторонние средства
Существуют сторонние средства, которые предоставляют функциональные возможности, связанные с проектами SQL и развертыванием базы данных. Некоторые средства открытый код, например dbatools.
Разработчики поделились своими проектами, используя точки расширяемости для проектов SQL, включая правила анализа кода и настройку планов развертывания. Некоторые из этих проектов:
- https://github.com/tcartwright/SqlServer.Rules
- https://github.com/davebally/TSQL-Smells
- https://github.com/GoEddie/DeploymentContributorFilterer