Экспорт и импорт базы данных в Linux с помощью SSMS или SqlPackage.exe на Windows

Применимо к:SQL Server в Linux

В этой статье показано, как использовать SQL Server Management Studio (SSMS) и SqlPackage для экспорта и импорта базы данных на SQL Server в Linux. SSMS и SqlPackage.exe являются приложениями Windows, поэтому используйте этот метод при наличии компьютера Windows, который может подключаться к удаленному экземпляру SQL Server в Linux.

Всегда следует устанавливать и использовать последнюю версию SSMS, как описано в статье "Использование SQL Server Management Studio в Windows для управления SQL Server на Linux".

Сведения о переносе базы данных из одного экземпляра SQL Server в другой см. в статье "Миграция базы данных SQL Server из Windows в Linux с помощью резервного копирования и восстановления".

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

  1. Запустите SSMS, введя Microsoft SQL Server Management Studio в поле поиска Windows, и выберите настольное приложение.

    Скриншот иконки приложения SQL Server Management Studio в результатах поиска Windows.

  2. Подключитесь к базе данных-источнику в обозреватель объектов. Исходная база данных может находиться в Microsoft SQL Server локальной или облачной среде, в Linux, Windows или Docker и База данных SQL Azure или Azure Synapse Analytics.

  3. Щелкните правой кнопкой мыши исходную базу данных в обозреватель объектов, наведите указатель мыши на Tasks и выберите Export Data-Tier Application...

  4. В мастере экспорта выберите Next, а затем на вкладке Settings сконфигурируйте экспорт для сохранения BACPAC-файла в локальном расположении диска или в Azure Blob.

  5. По умолчанию экспортируются все объекты в базе данных. Перейдите на вкладку Дополнительно и выберите объекты базы данных, которые необходимо экспортировать.

  6. Нажмите кнопку "Далее ", а затем нажмите кнопку "Готово".

Файл .bacpac успешно создан в выбранном расположении, и вы готовы импортировать его в целевую базу данных.

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

  1. Запустите SSMS, введя Microsoft SQL Server Management Studio в поле поиска Windows, и выберите настольное приложение.

    Скриншот иконки приложения SQL Server Management Studio в результатах поиска Windows.

  2. Подключитесь к целевому серверу в обозреватель объектов. Целевой сервер может быть Microsoft SQL Server, развёрнутым локально или в облаке, на Linux, Windows или Docker, а также База данных SQL Azure или Azure Synapse Analytics.

  3. Щелкните правой кнопкой мыши папку Databases в обозреватель объектов и выберите Import Data-tier Application...

  4. Чтобы создать базу данных на целевом сервере, укажите BACPAC-файл с локального диска или выберите учетную запись хранения Azure и контейнер, в который вы отправили BACPAC-файл.

  5. Укажите новое имя базы данных для базы данных. Если вы импортируете базу данных в База данных SQL Azure, задайте издание База данных SQL Azure (уровень услуг), максимальный размер базы данных и целевое назначение службы (уровень производительности).

  6. Нажмите кнопку Далее, а затем кнопку Готово, чтобы импортировать BACPAC-файл в новую базу данных на целевом сервере.

Файл .bacpac импортируется для создания новой базы данных на указанном целевом сервере.

Параметр командной строки SqlPackage

Кроме того, можно использовать программу командной строки SQL Server Data Tools (SSDT) SqlPackage для экспорта и импорта BACPAC-файлов.

В следующем примере команда экспортирует BACPAC-файл.

SqlPackage.exe /a:Export /ssn:tcp:<your_server> /sdn:<your_database> /su:<username> /sp:<password> /tf:<path_to_bacpac>

Используйте следующую команду, чтобы импортировать схему базы данных и пользовательские .bacpac данные из файла:

SqlPackage.exe /a:Import /tsn:tcp:<your_server> /tdn:<your_database> /tu:<username> /tp:<password> /sf:<path_to_bacpac>