Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Инструменты для проектов 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 предоставляется в файлах базы данных из модели проекта | нет | Да | нет |
- Локальный экземпляр разработки — это контейнер SQL Server.
- Локальный экземпляр разработки — это экземпляр SQL Server LocalDB.
- Ограниченное подмножество доступных шаблонов
Средства командной строки
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