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


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

Область применения: SQL Server — Linux

В этой статье показано, как использовать SQL Server Management Studio (SSMS) и SqlPackage для экспорта и импорта базы данных в SQL Server на Linux. SSMA и 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.

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

  3. Щелкните правой кнопкой мыши на исходной базе данных в обозревателе объектов, наведите указатель на Задачи и выберите Экспорт приложения уровня данных…

  4. В мастере экспорта нажмите кнопку Далее, а затем на вкладке Параметры настройте экспорт, чтобы сохранить BACPAC-файл в расположении локального диска или в BLOB-объекте Azure.

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

  6. Выберите Далее, затем выберите Готово.

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

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

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

    Снимок экрана: SQL Server Management Studio еще раз.

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

  3. Щелкните правой кнопкой мыши папку "Базы данных" в обозреватель объектов и выберите "Импортировать приложение уровня данных".

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

  5. Укажите новое имя базы данных для базы данных. Если вы импортируете базу данных в Azure SQL Database, задайте издание 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>