Расширение проектов Баз данных SQL

Расширение База данных SQL Projects — это расширение Azure Data Studio и Visual Studio Code для разработки баз данных SQL в среде разработки на основе проектов. Совместимые базы данных включают SQL Server, База данных SQL Azure, Управляемый экземпляр SQL Azure и Azure Synapse SQL. Проект SQL — это локальное представление объектов SQL, составляющих схему отдельной базы данных, таких как таблицы, хранимые процедуры или функции. При построении проекта База данных SQL выходной артефакт является DACPAC-файлом. Новые и существующие базы данных можно обновить, чтобы соответствовать содержимому dacpac, публикуя проект База данных SQL с расширением База данных SQL Projects или публикуя dacpac с помощью интерфейса командной строки SqlPackage.

Сводка по База данных SQL Проектам, содержащим скрипты предварительного развертывания и скрипты после развертывания, а также объекты базы данных.

Функции расширения

Расширение "Проекты базы данных SQL" предоставляет следующие возможности:

  • Создание пустого проекта.
  • Создайте проект из подключенной базы данных.
  • Откройте проект, созданный ранее в Azure Data Studio, Visual Studio Code или в SQL Server Data Tools.
  • Редактирование проекта путем добавления или удаления его объектов (таблиц, представлений, хранимых процедур) и пользовательских сценариев.
  • Упорядочение файлов и сценариев в папках.
  • Добавление ссылок на системные базы данных или пользовательский пакет DACPAC.
  • Создание одного проекта.
  • Развертывание одного проекта.
  • Загрузка сведений о подключении (проверка подлинности SQL Windows) и переменных SQLCMD из профиля развертывания.

В настоящее время в предварительной версии доступны следующие функции расширения База данных SQL Projects:

  • Создайте проекты из файла спецификации OpenAPI .
  • Проекты SQL в стиле ПАКЕТА SDK (Microsoft.Build.Sql).

Просмотрите это короткое десятиминутное видео, чтобы ознакомиться с расширением "Проекты Баз данных SQL" в Azure Data Studio:

Установка

Расширение проекта База данных SQL можно установить в Azure Data Studio и Visual Studio Code.

Azure Data Studio

Чтобы установить расширение проекта базы данных SQL в Azure Data Studio, выполните следующие действия:

  1. Откройте диспетчер расширений, чтобы получить доступ к расширениям. Для этого щелкните значок расширений или выберите пункт Расширения в меню Представление.

  2. Найдите расширение Проекты Баз данных SQL, целиком или частично введя имя расширения в поле поиска. Выберите доступное расширение и просмотрите сведения о нем.

    Снимок экрана: Azure Data Studio, расширение install.

  3. Выберите нужное расширение и нажмите Установить.

  4. Выберите Перезагрузить, чтобы включить расширение (требуется только при первой установке расширения).

  5. Щелкните значок Проекты на панели действий.

Примечание.

Рекомендуется установить расширение Сравнение схем наряду с расширением "Проекты Баз данных SQL", чтобы получить полноценный набор функций.

Visual Studio Code

Расширение База данных SQL Projects устанавливается с расширением mssql для Visual Studio Code.

Зависимости

Расширение База данных SQL Projects имеет зависимость от пакета SDK для .NET (обязательно) и AutoRest.Sql (необязательно).

Пакет SDK для .NET

Пакет SDK для .NET необходим для функциональных возможностей сборки проекта, и вам будет предложено установить пакет SDK для .NET, если поддерживаемая версия не может быть обнаружена расширением. Пакет SDK для .NET можно скачать и установить для Windows, macOS и Linux.

Если вы хотите просмотреть установленные сейчас версии пакета SDK для .NET, откройте терминал и выполните следующую команду:

dotnet --list-sdks

После установки пакета SDK для .NET среда готова использовать расширение База данных SQL Projects.

Распространенные проблемы

Nuget.org отсутствующие из списка источников могут привести к возникновению таких сообщений об ошибках, как:

  • error MSB4236: The SDK 'Microsoft.Build.Sql/0.1.9-preview' specified could not be found.
  • Unable to find package Microsoft.Build.Sql. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages

Чтобы проверить, зарегистрирована ли nuget.org в качестве источника, запустите dotnet nuget list source из командной [Enabled] строки и просмотрите результаты nuget.org ссылки на элемент. Если nuget.org не зарегистрированы в качестве источника, выполните команду dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org.

Неподдерживаемые версии пакета SDK для .NET могут привести к возникновению таких сообщений об ошибках, как:

  • error MSB4018: The "SqlBuildTask" task failed unexpectedly.
  • error MSB4018: System.TypeInitializationException: The type initializer for 'SqlSchemaModelStaticState' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. [c:\Users\ .sqlproj]_ (где связанный неисследующий файл имеет несоответствующую закрывающую квадратную скобку).

Чтобы принудительно использовать расширение База данных SQL Projects для использования версии 6.x пакета SDK для .NET при установке нескольких версий, добавьте файл global.json в папку, содержащую проект SQL.

AutoRest.Sql

Расширение SQL для AutoRest автоматически скачивается и используется расширением "Проекты Баз данных SQL" при создании проекта SQL на основе файла спецификации OpenAPI.

Ограничения

В настоящее время расширение проекта базы данных SQL имеет следующие ограничения:

  • Задачи (сборка и публикация) не определены пользователем.
  • Объекты SQLCLR в проектах не поддерживаются.
  • В настоящее время правила анализа кода для проектов не поддерживаются.

Рабочая область

Проекты базы данных SQL содержатся в логической рабочей области в Azure Data Studio и Visual Studio Code. Рабочая область управляет папками, видимыми в области обозревателя. Все проекты SQL в папках, открытых в текущей рабочей области, по умолчанию доступны в представлении "Проекты Баз данных SQL".

Вы можете вручную добавлять и удалять проекты из рабочей области с помощью интерфейса на панели Проекты. При необходимости параметры рабочей области можно изменить вручную в файле .code-workspace.

В следующем примере .code-workspace файла массив перечисляет все папки, включенные в область обозревателя, и dataworkspace.excludedProjects массив в settings списке всех проектов SQL, folders исключенных из области "Проекты".

{
  "folders": [
    {
      "path": "."
    },
    {
      "name": "WideWorldImportersDW",
      "path": "..\\WideWorldImportersDW"
    }
  ],
  "settings": {
    "dataworkspace.excludedProjects": [
      "AdventureWorksLT.sqlproj"
    ]
  }
}