Ошибка импорта BACPAC Azure SQL Server

всякий раз, когда я пытаюсь импортировать BACPAC на локальный сервер sql, я получаю следующее сообщение об ошибке:

TITLE: Microsoft SQL Server Management Studio
------------------------------

Could not import package.
Warning SQL0: The source contains users that rely on an external authentication provider that is not supported by the target. These users will be treated as users without logins.
Warning SQL72012: The object [DB_NAME_Data] exists in the target, but it will not be dropped even though you selected the 'Generate drop statements for objects that are in the target database but that are not in the source' check box.
Warning SQL72012: The object [DB_NAME_Log] exists in the target, but it will not be dropped even though you selected the 'Generate drop statements for objects that are in the target database but that are not in the source' check box.
Error SQL72014: .Net SqlClient Data Provider: Msg 33161, Level 15, State 1, Line 1 Database master keys without password are not supported in this version of SQL Server.
Error SQL72045: Script execution error.  The executed script:
CREATE MASTER KEY;


 (Microsoft.SqlServer.Dac)

------------------------------
BUTTONS:

OK
------------------------------

Все ранее сообщенные проблемы с SO не совпадают с этой. Кто-нибудь сталкивался с такой же проблемой раньше?


person Deepak Kumar    schedule 10.11.2017    source источник


Ответы (2)


В конце концов мне удалось решить эту проблему, следуя варианту 2, предложенному здесь

В двух словах,

  1. Сохраните утилиту RemoveMasterKeyFrombacpac из здесь
  2. Запустите команду .\RemoveMasterKey.ps1 -bacpacPath "C:\BacPacs\fileName.bacpac"

После завершения вышеуказанной команды мы получаем -patched bacpac, который импортируется без проблем.

Обновлять

С новым MS SQL Server 2016 (13.0.1745.2) и SSMS v17.6 это больше не проблема.

person Deepak Kumar    schedule 14.11.2017
comment
Это сработало отлично. У меня есть SSMS v18.6, и мне нужно было запустить этот скрипт. - person Rob Gray; 09.12.2020

Попробуйте запустить это для вашей базы данных master (щелкните правой кнопкой мыши имя сервера в SSMS -> Новый запрос)

sp_configure 'contained database authentication', 1;
GO 
RECONFIGURE;
GO

После этого вы можете снова пройти через мастер импорта bacpac, и проблема должна быть решена.

person Sadra Abedinzadeh    schedule 01.06.2020