Ошибка при импорте бакпака в Sql Server 2012

Я получаю эту ошибку при импорте файла bacpac из Windows Azure

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

Count not load schema model from package. (Microsoft.SqlServer.Dac)

------------------------------
ADDITIONAL INFORMATION:

Internal Error.  The internal target platform type SqlAzureDatabaseSchemaProvider
does not support schema file version '2.5'. 

Большая часть справки в Интернете предлагает обновить SSDT, но у меня уже установлена ​​последняя версия SSDT для VS2012.


person Nik    schedule 12.08.2014    source источник
comment
Версия SSDT взята из обновления за июль 2014 года. Также нельзя использовать SqlPackage.exe, так как он ожидает dacpac вместо bacpac.   -  person Nik    schedule 12.08.2014


Ответы (5)


Обновление. Благодаря ряду новых функций, включая хранилище запросов, теперь для импорта лучше всего использовать предварительную версию SQL Server Management Studio. В некоторых случаях это будет необходимо, учитывая обновленные функции в файле bacpac. Вы можете установить его на странице загрузки. На этой странице загрузки выберите «Загрузить предварительную версию SQL Server Management Studio» для установки.

Исходный ответ Лучшее решение — установить SQL Server Management Studio 2014 с Экспресс-страница загрузки. На этой странице загрузки выберите установщик «MgmtStudio 32BIT\SQLManagementStudio_x86_ENU.exe», щелкнув ссылку для загрузки. SSMS 2014 содержит более позднюю версию DacFx, которая поддерживает версию 2.5 и полностью поддерживает базы данных SQL Server 2005–2014, а также базы данных Azure.

Несколько замечаний по DacFx/SqlPackage:

  • Установка последней версии SSDT не решит проблему, так как SSDT больше не устанавливает библиотеки Dac DLL в общую папку. Вместо этого он устанавливает их в каталог установки Visual Studio (C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120).

  • Чтобы обновить двоичные файлы DacFx, используемые в SSMS, до последней версии, необходимо установить DacFramework.msi напрямую. Вы можете загрузить последнюю версию для 2014 г. здесь (это обновит расположение, используемое SSMS 2014), или, если вам нужно использовать SSMS 2012, будет найдена последняя версия, совместимая с ней здесь.

  • SqlPackage.exe поддерживает bacpacs. Вам нужно использовать действия Import/Export для bacpac, а не действия Extract/Publish, используемые для dacpac.

person Kevin Cunnane    schedule 12.08.2014
comment
Использовал второй вариант Обновить структуру Dac для SSMS 2012, и это решило мою проблему. Спасибо. - person Nik; 15.08.2014
comment
Перед этим SQLpackage сказал, что нет действия Import. Не пробовал после обновления Dacframework. - person Nik; 15.08.2014
comment
последняя версия на 2014 год (во втором пункте списка) теперь здесь - person GUID_33; 25.03.2015
comment
Ваше решение работает - предварительная версия SQL Server Management Studio за ноябрь 2015 г. !! Большое спасибо. - person Sangeet; 06.12.2015
comment
Мне пришлось установить sql server management studio 2016, чтобы он работал msdn.microsoft.com /en-us/library/mt238290.aspx - person Ilyas; 31.12.2016

Непосредственно восстановить не получится. Поскольку вы уже установили «Инструменты данных SQL Server», проверьте ссылки.

http://social.technet.microsoft.com/Forums/en-US/66a4dfeb-c626-45eb-af3c-00e7e5996203/bacpac-file-import-from-windows-azure-fails?forum=ssdt

Локальное восстановление Bacpac базы данных SQL Azure

http://social.msdn.microsoft.com/forums/windowsazure/en-us/36035d1e-fda8-4388-99c4-ba2ff7c5a5e1/new-sql-azure-bacpac-format-not-working-with-sql-2012

http://saransh77.wordpress.com/2013/05/02/part-1-how-to-manually-backup-azure-sql-database-and-import-in-on-premise-sql-server/

person Ajay2707    schedule 12.08.2014
comment
Это не работает, так как я получаю ту же ошибку Internal Error. Тип внутренней целевой платформы SqlAzureDatabaseSchemaProvider не поддерживает версию файла схемы "2,5". - person Nik; 12.08.2014

Мне кажется, что недавно что-то изменилось в сторону Azure, чтобы безубыточно использовать SQL Server 2014 Management Studio. Мне пришлось установить накопительное обновление 5 на SQL Server 2014 Management Studio, чтобы это снова заработало. Похоже, накопительное обновление 6 вышло, так что вы тоже можете попробовать его.

person Alan Macdonald    schedule 08.05.2015
comment
Да, недавнее изменение означает, что если хранилище запросов включено в базе данных SQL Azure и вы экспортируете данные с помощью службы импорта/экспорта, вам потребуется последняя предварительная версия SSMS для установки. Вы можете загрузить и установить его с msdn.microsoft.com/en-us/library. /mt238290.aspx. Он полностью обратно совместим с предыдущими версиями SQL Server. - person Kevin Cunnane; 03.11.2015
comment
Я могу подтвердить, что CU6 для SQL Server 2014 SP1 работает. Его можно найти здесь support.microsoft.com/en-us/kb/3144524 - person Jason Steele; 28.04.2016

Я обновил свой SQL Server 2012 с помощью SP2 и тогда я мог бы импортировать файлы BACPAC из Azure. Вы можете попробовать это.

person Mahib    schedule 19.09.2015

Я понимаю, что это было там некоторое время, но те, у кого все еще есть эта проблема, это происходит из-за более старой версии Microsoft® SQL Server® Data-Tier Application Framework.

Установка последней версии решила проблему.

В то время, когда я пишу, это последняя версия, и я использовал более старую, которая была несовместима с файлом bacpac, который я пытался импортировать.

http://www.microsoft.com/en-us/download/details.aspx?id=46898

person Soori    schedule 03.11.2015