Развертывание BACPAC в управляемом экземпляре Azure сбой из SSMS?

 Недавно я столкнулся с ошибкой при попытке скопировать небольшую базу данных bacpac в управляемый экземпляр Azure. Говорят, что SSMS способна выполнить эту задачу. Давайте посмотрим на это в действии.

Как можно импортировать bacpac в управляемый экземпляр Azure? Просто подключитесь к управляемому экземпляру с помощью новейшей сборки SSMS (SQL Server Management Studio). Затем щелкните правой кнопкой мыши базы данных и выберите пункт Импортировать приложение уровня данных..


Далее следуйте указаниям мастера импорта. О боже! Похоже, мы не можем, потому что мастер не загружается.


Быстрый поиск в Google на Bing указал на некоторые сообщения форума, которые предлагают добавить ключи реестра, чтобы исправить эту проблему. Не имея времени на устранение неполадок, я решил пойти с " ole reliable... командной строкой.

SQLPACKAGE.EXE-это утилита командной строки, которая может использоваться для экспорта и импорта приложений уровня данных. Чтобы узнать больше о SQLPACKAGE ознакомьтесь с этой ссылкой:

https://docs.microsoft.com/en-us/sql/tools/sqlpackage

Я нашел его довольно полезным для создания пакетного файла (.bat) при импорте многих файлов bacpac, потому что вы можете запустить его, а затем проверить результаты позже.

При использовании SQLPACKAGE для импорта ваша команда должна включать /a: import /tcs: / sf. Приведенная выше ссылка дает множество примеров для импорта и экспорта.

Обратите особое внимание, что при импорте в базу данных SQL Azure вам потребуется проверить конфигурацию базы данных, чтобы убедиться, что она имеет соответствующий размер. Например, использование /p: DatabaseMaximumSize=150 приведет к созданию премиального SKU с базой данных объемом 150 ГБ. Пожалуйста, не забывайте об этом, потому что база данных SQL Azure может быть объемной.

Стоит отметить, что вы можете импортировать файлы bacpac с помощью портала Azure, но только для базы данных SQL Azure, и по моему опыту импорт портала Azure часто завершается неудачей с большими файлами bacpac базы данных и может занять несколько часов до начала импорта. С учетом сказанного я обычно использую SQLPACKAGE вместо этого.