База данных Azure SQL Database Bacpac Local Restore

Я создал резервную копию BACPAC моей базы данных Azure SQL с помощью опции "Экспорт" в консоли управления Azure.

Загрузив это на мою машину, я немного зациклен на том, как я могу восстановить это на локальном экземпляре SQL Server. Я наткнулся на инструмент DacImportExportCli, но не смог найти пример локального восстановления.

Также, если кто-то написал script, который делает это (так что это может быть запланировано), это было бы замечательно.

Ответ 1

Это можно сделать просто через SQL Server Management Studio 2012

  • Щелкните правой кнопкой мыши по Подключение > Базы данных node и выберите " Импорт приложений уровня данных..."
  • Выберите " Далее" на шаге внедрения.
  • enter image description here
  • Обзор или подключение к учетной записи хранилища, в которой хранятся резервные копии.

Ответ 2

Мне нужно было экспортировать базу данных SQL Azure, а затем импортировать ее на локальный сервер SQL 2008 R2 (обратите внимание, что я также использую Visual Studio 2010). Microsoft, конечно, уклонилась, чтобы сделать это болезненной задачей, однако я смог сделать это, выполнив следующие действия:

  • Перейдите по этой ссылке http://msdn.microsoft.com/en-us/jj650014 и установите инструменты данных SQL Server для Visual Studio 2010

  • Это будет установлено на вашем локальном диске. В моем случае вот что он сказал: C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin

  • Просмотрите это через командную строку или powershell

  • Вам нужно будет выполнить SqlPackage.exe

  • Откройте эту ссылку, чтобы просмотреть список всех параметров для SqlPackage.exe(http://msdn.microsoft.com/en-us/library/hh550080(v=vs.103).aspx)

  • Вот моя командная строка, которую мне нужно выполнить для импорта файла .bacpac на локальный сервер SQL 2008 R2:

    .\SqlPackage.exe/a: Импорт /sf:C:\mydatabasefile.bacpac/tdn: NorthWind/tsn: BINGBONG

/tdn - это имя базы данных, к которой вы хотите восстановить файл bacpac. /tsn - это имя вашего SQL-сервера.

Вы можете увидеть все эти описания параметров по ссылке из # 5.

Ответ 5

Если вы используете SSMS 2012, это так же просто, как щелчок правой кнопкой мыши по папке "Базы данных" под сервером в обозревателе объектов и выбор "Импорт приложений уровня данных...".

На дороге есть одна проблема: по состоянию на 26 марта 2013 года (когда мне нужно было выяснить, как это сделать сам), когда вы экспортируете .bacpac из Azure, он будет загружен как. zip файл, не файл .bacpac, а диалоговое окно файла, открытое кнопкой "Обзор" в мастере импорта, будет показывать только *.bacpac или. в фильтрах файлов, подразумевая, что .zip не поддерживается. Однако, если вы измените фильтр на., Выберите загруженный .zip и нажмите "Далее", мастер будет работать нормально.

Ответ 6

Здесь script, чтобы восстановить связку файлов bacpac сразу: Массовое восстановление файлов bacpac локально

cd [FOLDERPATH]
$goodlist = dir
cd 'C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin'
foreach($i in $goodlist){ $name = $i.Name; $namer = $i.Name.Substring(0, $i.Name.length - 7); .\SqlPackage.exe /a:Import /sf:[FOLDERPATH]\$name /tdn:$namer /tsn:[SERVERNAME] }