2015-02-17 5 views
38

Я пытаюсь импортировать экспортированный BACPAC из базы данных SQL Azure (v12) в локальный SQL Server 2012 экземпляр, но я продолжаю получать ошибку ниже. Я попытался установить обновления DAC и SSDT, связанные с this blog post, но это не помогает.Невозможно импортировать SQL Azure V12 BACPAC: «тип Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider недействителен»

Как это исправить?

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 
------------------------------ 

ответ

33

Обновлено: Новый SQL Server Management Studio Preview это лучший способ для импорта в Azure SQL DB. Он поддерживает все последние функции и проверки базы данных Azure SQL DB. Кроме того, он имеет автономный веб-установщик, который автоматически обновляется каждый месяц по мере появления новых функций. В приведенных ниже замечаниях, в которых упоминается сложность установки обновления CU, это было бы более простым решением проблемы с &.

Оригинал Ответ: Если вы используете SQL Server Management Studio для выполнения импорта, вы должны быть SSMS 2014 CU5 или CU6 установлен. Информация об установке CU6 доступна here. Ошибка, указанная в вашем вопросе, указывает, что вы используете более старую версию SSMS.

** Обновление: ** В ответ на ответ Мартина ниже я хотел бы уточнить 2 вещи.

  1. SSMS для SQL Server 2014 является единственной версией SSMS с полной поддержкой новых Azure SQL функций DB v12, в частности импорта/экспорта против этой цели. Это связано с тем, что v12 имеет (почти) функциональный паритет с SQL Server 2014, а в старых версиях инструментария нет поддержки для этого. Обратите внимание, что SSMS 2014 полностью обратно совместим с SQL Server 2005 и выше.

  2. Существует отдельная временная проблема, которая вызвала проблемы с обновленными базами данных Azure SQL DB v12. Это было решено, и правильное место для поиска информации об этом решении содержится в разделе C3 страницы Plan and Prepare to Upgrade. В общем, если вы экспортировали bacpac, который не смог импортировать из-за этой проблемы, вы можете загрузить последнюю версию DacFramework.msi от here, чтобы исправить эту проблему в SSMS.

Полное раскрытие информации: Я работаю над командой инструментов SQL Server.

+24

Существует некоторая работа, которая будет сделано сделать эти "исправления" более доступным. Я не могу поверить, что меня отправляют по электронной почте ссылку на скачивание исправления, как будто я - французский крестьянин 18-го века. – stimms

+0

Использование SSMS для SQL Server 2014 работало для меня. При попытке использовать SSMS в комплекте с 2012 годом я продолжал получать такие ошибки, как «Предупреждение SQL72012: объект [PRIMARY] существует в целевом ...» при попытке импортировать файл BACPAC из SQL Azure. – Barrie

+0

Мне не удалось установить CU6.нет информации, кроме «Нет экземпляров SQL Server или общих функций, которые могут быть обновлены на этом компьютере». Может быть, это актуально? Я не знаю, это не говорит мне об этом. Почему моя установка SSMS не может быть выбрана в качестве функции для изменения через установщик CU6? Я вижу экземпляры и два ящика, но они неприступны. один из них - MSSQLSERVER – FlavorScape

0

У меня такая же проблема.

Установка Cumulative update package 6 как предложено here помогает избежать первой ошибки, но просто застрять в следующем.

по этой теме:

SQL Azure import of bacpac does not work after upgrade to v12

это ошибка Microsoft не имеет исправление или временное решение пока.

Edit: SQL Management Studio 2014 требуется восстановить (2012 не работает)

Если есть один, я думаю, что поток будет обновляться.

Редактировать: В приведенном выше link вы можете найти обходное решение: вам необходимо создать копию базы данных V12.Эта копия может быть экспортирована и повторно размещена на вашем локальном сервере sql 2014.

Просто обновление инструментов не помогает. .

+0

Привет, Мартин, я обновил свой ответ, чтобы надеяться покрыть ваши проблемы. Дайте мне знать, если что-то еще не охвачено, и я уточню дальше. –

+0

Привет, @ KevinCunnane, спасибо за ваш ответ! Я обновил ЦАП, создал новую резервную копию моей базы данных Azure V12 и попытался ее импортировать. К сожалению, я все еще получаю ту же ошибку, что и раньше. Сообщение об ошибке слишком длинное для здесь. Коды ошибок: Предупреждение SQL72012, Ошибка SQL72014, Ошибка SQL72045 –

+0

Мартин, если проблема связана с CREATE TYPE [sys]. [Script_deployment_databases], то это должно быть исправлено установкой последнего обновления Dac и запуском Импорт через SSMS 2014. Вы также можете импортировать, используя службу импорта/экспорта на портале. Если вы испытываете это после обновления Dac, обратитесь в службу поддержки, как указано на странице «Планирование и подготовка к обновлению», и они могут маршрутизировать ее по правильным каналам. –

23

Чтобы исправить ошибку импорта с [SYS] [script_deployment_databases] из экспортированной базы данных V12 необходимо установить:

  1. CU13
  2. Microsoft SQL Server Data-Tier Application Framework (February 2015) (вы должны установить ОБА х64 и версии x86).

EDIT: CU13 не требуется, просто попробуйте вторую ссылку сначала!

+0

Первая ссылка сломана – flash

+7

Для меня вторая часть помогла. Спасибо! – Sergey

+0

Работал для меня! Благодаря! –

5

Установите следующее, и оно будет работать!
1) Вы установили накопительное обновление 5 для управления SQL Server Studio 2014. http://support2.microsoft.com/kb/3011055
2) Microsoft SQL Server Framework приложения уровня данных (февраль 2015 г.) (необходимо установить ОБА x64 и x86). http://www.microsoft.com/en-us/download/details.aspx?id=45886

+2

. Ключевой вещью для меня было добавление обеих версий x64 и x86. Маленький, но очень жизненно важный ключ для этого. Спасибо! –

2

У меня была такая же проблема с моей резервной копией dataabse из SQL Azure (v12).

Я установил Microsoft® SQL Server® Data-Tier Application Framework (February 2015) (для правильной работы вам необходимо установить ОБА версии x64 и x86). Сначала я установил x64 версию и попытался восстановить БД - но это не сработало. После этого я установил версию x86, и я смог успешно восстановить базу данных.

Моя версия SQL Server: Microsoft SQL Server 2014 - 12.0.2269.0 (X64). ОС: Windows 10 x64 build 10240.

Tnanks.

1

Восстановление BacPac из базы данных Azure происходит после установки последней версии SQL Server Management Studio 2016 Preview. Решение состояло в том, чтобы установить «Contained Database Authentication» = 1 для моего локального экземпляра SQL DB. Читайте о решении here или запустить этот скрипт на локальном экземпляре: мастер

USE GO RECONFIGURE GO sp_configure 'СОДЕРЖАЩИХСЯ DATABASE AUTHENTICATION', 1

1

Я использовал неправильный 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 
Смежные вопросы