Не удалось импортировать SQL Azure V12 BACPAC: "тип Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider недействителен"
Я пытаюсь импортировать экспортированный BACPAC из базы данных SQL Azure (v12) в локальный экземпляр SQL Server 2012, но я продолжаю получать ошибку ниже. Я попытался установить обновления DAC и SSDT, связанные с этим сообщением в блоге, но это не помогает.
Как я могу это исправить?
TITLE: Microsoft SQL Server Management Studio
------------------------------
Count not load schema model from package. (Microsoft.SqlServer.Dac)
------------------------------
ADDITIONAL INFORMATION:
Internal Error. The database platform service with type Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider is not valid. You must make sure the service is loaded, or you must provide the full type name of a valid database platform service. (Microsoft.Data.Tools.Schema.Sql)
------------------------------
BUTTONS:
OK
------------------------------
Ответы
Ответ 1
Обновлено: Новый SQL Server Management Studio Preview - лучший способ импорта в Azure SQL DB. Он поддерживает все последние функции и проверки базы данных Azure SQL DB. Кроме того, он имеет автономный веб-установщик, который автоматически обновляется каждый месяц по мере появления новых функций. В приведенных ниже замечаниях, в которых упоминается сложность установки обновления CU, это было бы более простым и быстрым решением проблемы.
Исходный ответ:
Если вы используете SQL Server Management Studio для импорта, у вас должен быть установлен SSU 2014 CU5 или CU6. Информация об установке CU6 доступна здесь. Ошибка, указанная в вашем вопросе, указывает, что вы используете более старую версию SSMS.
** Обновление: **
В ответ на ответ Мартина ниже я хотел бы уточнить 2 вещи.
-
SSMS для SQL Server 2014 является единственной версией SSMS с полной поддержкой новых функций Azure SQL DB v12, в частности Import/Export для этой цели. Это связано с тем, что v12 имеет (почти) функциональный паритет с SQL Server 2014, а в старых версиях инструментария нет поддержки для этого. Обратите внимание, что SSMS 2014 полностью обратно совместим с SQL Server 2005 и выше.
-
Возникла отдельная временная проблема, которая вызвала проблемы с обновленными базами данных Azure SQL DB v12. Это было решено, и правильное место для поиска информации об этом можно найти в разделе C3 страницы Plan and Prepare to Upgrade. В общем, если вы экспортировали bacpac, который не смог импортировать из-за этой проблемы, вы можете загрузить последнюю версию DacFramework.msi из здесь, чтобы исправить это выпуск в SSMS.
Полное раскрытие: я работаю над командой инструментов SQL Server.
Ответ 2
Чтобы исправить ошибку импорта с помощью [sys]. [script_deployment_databases] из экспортированной базы данных V12, которую вы должны установить:
РЕДАКТИРОВАТЬ: CU13 не нужен, сначала попробуйте второе соединение!
Ответ 3
Установите следующее, и оно будет работать!
1) Установили ли накопительное обновление 5 для SQL Server Management Studio 2014. http://support2.microsoft.com/kb/3011055
2) Microsoft SQL Server Data-Tier Application Framework (февраль 2015 г.) (вы должны установить BOTH версии x64 и x86). http://www.microsoft.com/en-us/download/details.aspx?id=45886
Ответ 4
У меня была такая же проблема с моей резервной копией dataabse из SQL Azure (v12).
Я установил Microsoft® SQL Server® Data-Tier Application Framework (февраль 2015 г.) (для правильной работы вам потребуется установить Оба варианта x64 и x86).
Сначала я установил версию x64 и попытался восстановить БД - но это не сработало. После этого я установил версию x86, и я смог успешно восстановить базу данных.
Моя версия SQL Server: Microsoft SQL Server 2014 - 12.0.2269.0 (X64). ОС: Windows 10 x64 build 10240.
Tnanks.
Ответ 5
Восстановление BacPac из базы данных Azure завершилось неудачей после установки последнего предварительного просмотра SQL Server Management Studio 2016. Решение состояло в том, чтобы установить "Contained Database Authentication" = 1 для моего локального экземпляра SQL DB. Читайте о решении здесь или запустите этот script в своем локальном экземпляре:
Мастер использования
ИДТИ
RECONFIGURE
ИДТИ
sp_configure "СОДЕРЖАНИЕ СОДЕРЖАЩЕЙСЯ БАЗЫ ДАННЫХ", 1
Ответ 6
Я использовал неправильный путь SqlPackage.exe
.
Не работает:
C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe
Работает:
C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin\SqlPackage.exe
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130\SqlPackage.exe
Ответ 7
У меня такая же проблема.
Установка Накопительный пакет обновлений 6, предложенный здесь помогает избежать первого но просто застрять в следующем.
Относительно этой темы:
SQL Azure импорт bacpac не работает после обновления до версии v12
Это ошибка Microsoft еще не имеет исправления или обхода.
Изменить: SQL Management Studio 2014 требуется для восстановления (2012 не работает)
Если есть, я думаю, что поток будет обновлен.
Изменить: в вышеупомянутой ссылке теперь вы можете найти обходной путь: вам нужно создать копию своей базы данных V12. Эта копия может быть экспортирована и повторно импортирована на ваш локальный сервер sql 2014.
Просто обновление инструментов не помогает.
Ответ 8
Я использую версию 11.0.2100.60 и имею ту же проблему. Установлен Microsoft® SQL Server® Framework для приложений уровня данных (февраль 2015 г.). После этого все отлично работало.