Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Инструменты для проектов 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, включая правила анализа кода и настройку планов развертывания. Некоторые из этих проектов:
- https://github.com/tcartwright/SqlServer.Rules
- https://github.com/davebally/TSQL-Smells
- https://github.com/ErikEJ/SqlServer.Rules
- https://github.com/GoEddie/DeploymentContributorFilterer
Связанный контент
- Проектно-ориентированная автономная разработка баз данных
- Расширение проектов Баз данных SQL
- SqlPackage
- GitHub sql-action
- Развертывания SQL в Azure DevOps
- Приложения уровня данных (DAC)
- Репозиторий отзывов DacFx
- Начало работы с проектами базы данных SQL
- Руководство по созданию и развертыванию проекта SQL