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


SqlPackage для базы данных SQL в Microsoft Fabric

Применимо к:базе данных SQL в Microsoft Fabric

В этом руководстве описано, как работать с SqlPackage в базе данных SQL в Fabric.

SqlPackage — это интерфейс командной строки, предоставляющий переносимость базы данных и развертывания базы данных.

  • Переносимость (импорт и экспорт) базы данных, управляемой в Azure или в Fabric, гарантирует, что данные переносятся на другие платформы, включая SQL Server или Управляемый экземпляр SQL Azure, следует перенести позже.
  • Такая же переносимость также позволяет выполнять определенные сценарии миграции с помощью автономных копий базы данных (.bacpac) с операциями импорта и экспорта.

SqlPackage также может включать простое развертывание добавочных изменений в объектах базы данных (новые столбцы в таблицах, изменения существующих хранимых процедур и т. д.).

  • SqlPackage может извлечь .dacpac файл, содержащий определения объектов в базе данных, и опубликовать .dacpac файл для применения этого состояния объекта к новой или существующей базе данных.
  • Операция публикации также интегрируется с проектами SQL, что позволяет выполнять автономные и более динамические циклы разработки для баз данных SQL.

Необходимые компоненты

Настройка

SqlPackage доступен для Windows, macOS и Linux в качестве средства dotnet. Ее можно установить с помощью следующей команды:

dotnet tool install --global Microsoft.SqlPackage

Как глобальное средство dotnet, SqlPackage доступен в терминале как sqlpackage из любой папки.

Импорт базы данных с помощью SqlPackage

Это .bacpac переносимая копия базы данных, полезная для некоторых сценариев миграции и тестирования. Его можно импортировать.bacpac в пустую базу данных SQL.

Примечание.

Не .bacpac является резервной копией или заменой возможностей резервного копирования и восстановления. Дополнительные сведения о резервных копиях в базе данных SQL Fabric см. в статье "Автоматическое резервное копирование в базе данных SQL" в Microsoft Fabric и восстановление из резервной копии в базе данных SQL в Microsoft Fabric.

  1. При использовании .bacpac из среды База данных SQL Azure может потребоваться изменить исходную базу данных, чтобы соответствовать поверхностной области базы данных T-SQL в базе данных SQL Fabric.

  2. Создайте новую базу данных SQL в Fabric как обычно с помощью интерфейса Fabric.

  3. Скопируйте строка подключения из параметров.

    Снимок экрана: портал Fabric, на котором показана страница строк подключения базы данных SQL.

  4. Используйте команду импорта из терминала в папке sqlpackage. Укажите владельца <servername> и <database_name>.

    sqlpackage /action:import /sourcefile:"C:\DatabaseName.bacpac" /targetconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"
    
    • Замените строка подключения из диалогового окна параметров базы данных SQL.
    • Замените sourcefile значение .bacpac именем (DatabaseName) и location на локальном компьютере.

Дополнительные сведения об импорте см. в разделе импорта SqlPackage.

Экспорт базы данных с помощью SqlPackage

.bacpac Экспорт — это обратная операция, где находится targetfile ваш .bacpac объект и sourceconnectionstring вы можете найти в диалоговом окне параметров базы данных SQL, как показано в предыдущем примере. Укажите владельца <servername> и <database_name>. Например:

sqlpackage.exe /action:export /targetfile:"C:\DatabaseName.bacpac" /sourceconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"

Дополнительные сведения об экспорте см. в разделе "Экспорт SqlPackage".

Извлечение и публикация

Схема того, как проекты базы данных SQL могут перемещать изменения схемы.

Это .dacpac файл модели схемы базы данных, содержащий определения таблиц, хранимых процедур и других объектов в исходной базе данных. Этот файл можно создать из существующей базы данных с помощью SqlPackage или из проекта базы данных SQL .

SqlPackage может развертывать .dacpac новую (пустую) базу данных или постепенно обновлять существующую базу данных в соответствии с требуемым .dacpac состоянием.

  • Извлечение создает .dacpac файлы или файлы SQL из существующей базы данных.
  • Публикация развертывает базу .dacpac данных.

SqlPackage синтаксис публикации и синтаксис извлечения аналогичен командам импорта и экспорта.

Предупреждение

Использование SqlPackage для развертывания проекта SQL или .dacpac в базе данных SQL в Fabric рекомендуется. Развертывание .dacpac из Visual Studio может быть неудачным.

Чтобы развернуть .dacpac, созданную из базы данных SQL Azure, SQL Server или проекта SQL, предназначенного для платформы, отличной от базы данных SQL в Fabric, добавьте свойство /p:AllowIncompatiblePlatform=true в команду публикации SqlPackage.