Ошибка при импорте bacpak в 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
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 для bacpacs, а не действия Extract/Publish, используемые для dacpacs.
Мне кажется, что в последнее время что-то изменилось в Azure, и это стало возможным благодаря использованию SQL Server 2014 Management Studio. Мне пришлось установить Накопительное обновление 5 на SQL Server 2014 Management Studio, чтобы это снова заработало. Похоже, накопительное обновление 6 вышло, так что вы также можете попробовать это.
Я обновил свой SQL Server 2012 с пакетом обновления 2 (SP2) и затем смог импортировать файлы BACPAC из Azure. Вы можете попробовать это.
Это не будет непосредственно восстанавливать. Поскольку вы уже установили "Инструменты данных SQL Server", проверьте ссылки.
Я понимаю, что это было некоторое время, но у тех, у кого все еще есть эта проблема, это происходит из-за наличия более старой версии Microsoft® SQL Server® Data-Tier Application Framework.
Установка последней версии решила проблему.
На момент написания статьи это последняя версия, и я использовал более старую версию, несовместимую с файлом BACPAC, который я пытался импортировать.
http://www.microsoft.com/en-us/download/details.aspx?id=46898