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


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

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

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

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

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

Расширение "Проекты баз данных SQL " — это расширение для VS Code. Это расширение предоставляет графический интерфейс для проектов SQL, редактора T-SQL и процесса сборки и публикации. Расширение также доступно в Azure Data Studio с той же функциональностью.

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

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

Функция VS Code SSDT (VS2022-2026) SSDT в стиле SDK, предварительный просмотр (VS2022)
Создание пустого проекта Да Да Да
Создание проекта из существующей базы данных Да Да Да
Открытие существующих проектов Microsoft.Build.Sql Да нет Да
Управление решениями и операции нет Да Да
Сборка запуска проекта Да Да Да
Публикация проекта на существующем сервере Да Да Да
Публикация проекта на локальный сервер разработки Да1 Да2 Да2
Параметры/свойства публикации Да Да Да
Целевая платформа может быть обновлена Да Да Да
Переменные SQLCMD Да Да Да
Ссылки на проекты Да Да Да
Ссылки Dacpac Да Да Да
Ссылки на пакеты Да нет нет
Публикация создания профиля Да Да Да
Файлы SQL можно добавить, поместив в папку проекта Да нет Да
Файлы SQL можно исключить из сборки Да Да нет
Скрипты предварительного и последующего развертывания Да Да Да
Новые шаблоны объектов Да3 Да Да3
Файлы проекта можно упорядочить в папки Да Да Да
Проект сравнения схем с базой данных Да Да Да
Сравнение схемы базы данных с проектом Да Да нет
Графический конструктор таблиц нет Да Да
Анализ кода — включение и отключение графических интерфейсов правил нет Да нет
Свойства проекта — параметры выходных данных сборки нет Да Да
Свойства проекта — графический интерфейс параметров базы данных нет Да нет
Запуск анализа кода проекта Да Да нет
Переименование и рефакторинг объектов нет Да нет
Intellisense предоставляется в файлах базы данных из модели проекта нет Да нет
  1. Локальный экземпляр разработки — это контейнер SQL Server.
  2. Локальный экземпляр разработки — это экземпляр SQL Server LocalDB.
  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, включая правила анализа кода и настройку планов развертывания. Некоторые из этих проектов: