Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Инструменты для проектов 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 |
- Локальный экземпляр разработки — это экземпляр 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 в проект в стиле ПАКЕТА SDK выполняется вручную, изменив .sqlproj
файл, чтобы включить новый формат проекта в стиле ПАКЕТА SDK. Перед началом процесса рекомендуется создать резервную копию файла проекта и заархивировать версию проекта в .dacpac
. Сравнивая "до" и "после" .dacpac
, созданные из проекта, можно убедиться, что процесс преобразования выполнен правильно.
Управление проектами и решениями
Несколько проектов SQL (и других проектов) можно логически сгруппировать в файл решения. Файл решения — это контейнер для одного или нескольких проектов и используется для управления проектами в качестве группы, включая действие сборки. Крупные решения можно разбить на небольшие решения для повышения производительности и управляемости, а также динамически создаваться для соответствующей задачи. Генератор файлов решения slngen доступен для проектов Microsoft.Build.Sql и может использоваться для создания файла решения для набора проектов программно и по запросу.
Сторонние средства
Существуют сторонние средства, которые предоставляют функциональные возможности, связанные с проектами SQL и развертыванием базы данных. Некоторые средства открытый код, например dbatools.
Разработчики поделились своими проектами, используя точки расширяемости для проектов SQL, включая правила анализа кода и настройку планов развертывания. Некоторые из этих проектов:
- https://github.com/tcartwright/SqlServer.Rules
- https://github.com/davebally/TSQL-Smells
- https://github.com/ErikEJ/SqlServer.Rules
- https://github.com/GoEddie/DeploymentContributorFilterer