База данных 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.
Ответ 3
Вы можете восстановить BACPAC с помощью инструментов на стороне клиента. Видеоролики здесь:
http://dacguy.wordpress.com/2011/09/09/importexport-services/
Инструменты доступны здесь:
http://sqldacexamples.codeplex.com/documentation
Ответ 4
Кажется, мои молитвы были услышаны. Сегодня Redgate запустил свой инструмент резервного копирования SQL Azure БЕСПЛАТНО - http://www.red-gate.com/products/dba/sql-azure-backup/download
Ответ 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] }