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

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

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

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

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

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

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

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

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

  3. Щелкните правой кнопкой мыши исходную базу данных в Object Explorer, наведите указатель мыши на 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. Подключитесь к целевому серверу в Object Explorer. Целевой сервер может быть Microsoft SQL Server, развёрнутым локально или в облаке, на Linux, Windows или Docker, а также Azure SQL Database или Azure Synapse Analytics.

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

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

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

  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>