it-swarm.com.ru

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

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

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

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

126
Ben Foster

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

  1. Щелкните правой кнопкой мыши узел Соединение> Базы данных и выберите "Импортировать приложение уровня данных ..."
  2. Выберите "Далее" на шаге введения.
  3. enter image description here
  4. Просмотрите или подключитесь к учетной записи хранения, где хранятся резервные копии.
176
Josiah Ruddell

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

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

  2. Это установит на ваш локальный диск. В моем случае, вот где это написано: C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin

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

  4. Вы хотите выполнить SqlPackage.exe

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

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

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

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

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

52
Flea

Вы можете восстановить BACPAC с помощью инструментов на стороне клиента. Видео здесь:

http://dacguy.wordpress.com/2011/09/09/importexport-services/

Инструменты доступны здесь:

http://sqldacexamples.codeplex.com/documentation

10
abc

Кажется, мои молитвы были услышаны. Redgate сегодня бесплатно запустила инструмент резервного копирования SQL Azure - http://www.red-gate.com/products/dba/sql-Azure-backup/download

7
Ben Foster

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

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

5
Adam Anderson

Вот скрипт для восстановления сразу нескольких файлов 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] }
3
Jeffrey Rosselle