Azure SQL数据库Bacpac本地还原

时间:2011-10-21 09:02:12

标签: azure azure-sql-database bacpac

我使用Azure管理控制台中的“导出”选项创建了Azure SQL数据库的BACPAC备份。

将其下载到我的机器后,我对如何将其恢复到本地SQL Server实例有点困惑。我遇到了DacImportExportCli工具,但找不到本地恢复的示例。

此外,如果有人编写了一个脚本来执行此操作(因此可以安排),这将是非常棒的。

6 个答案:

答案 0 :(得分:176)

这可以通过SQL Server Management Studio 2012

完成
  1. 右键点击连接>数据库节点并选择“导入数据层应用程序......
  2. 在介绍步骤中选择“下一步”。
  3. enter image description here
  4. 浏览或连接到保留备份的存储帐户。

答案 1 :(得分:52)

我需要导出SQL Azure数据库,然后将其导入本地SQL 2008 R2服务器(注意我也使用Visual Studio 2010)。微软当然竭尽全力让这项任务成为一项痛苦的任务,但是,我能够通过以下方式实现这一目标:

  1. 转到此链接http://msdn.microsoft.com/en-us/jj650014并安装Visual Studio 2010的SQL Server数据工具

  2. 这将安装在您的本地驱动器上。在我的情况下,它放在它的位置:C:\ Program Files(x86)\ Microsoft SQL Server \ 110 \ DAC \ bin

  3. 通过命令行或powershell

  4. 浏览
  5. 您将要执行SqlPackage.exe

  6. 打开此链接以查看SqlPackage.exe的所有参数选项列表(http://msdn.microsoft.com/en-us/library/hh550080(v=vs.103).aspx

  7. 这是我需要执行的命令行,以便将.bacpac文件导入我的本地SQL 2008 R2服务器:

      

    。\ SqlPackage.exe / a:导入/sf:C:\mydatabasefile.bacpac / tdn:NorthWind / tsn:BINGBONG

  8. /tdn是您希望bacpac文件还原到的数据库的名称。 /tsn是SQL服务器的名称。

    您可以在#5。

    的链接上看到所有这些参数说明

答案 2 :(得分:10)

您可以使用客户端工具还原BACPAC。视频在这里:

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

这里有工具:

http://sqldacexamples.codeplex.com/documentation

答案 3 :(得分:7)

似乎我的祈祷得到了回应。 Redgate今天免费推出了他们的SQL Azure备份工具 - http://www.red-gate.com/products/dba/sql-azure-backup/download

答案 4 :(得分:5)

如果您正在使用SSMS 2012,只需右键单击对象资源管理器中服务器下的Databases文件夹,然后选择“导入数据层应用程序......”。

在路上有一个需要注意的事项:截至2013年3月26日(当我需要自己查找如何执行此操作时),当您从Azure导出.bacpac时,它将作为一个下载。 zip文件,一个.bacpac文件,导入向导中的“浏览”按钮打开的文件对话框只会在文件中显示* .bacpac或过滤器,暗示.zip不受支持。但是,如果您将过滤器更改为,请选择下载的.zip,然后单击“下一步”,向导将正常进行。

答案 5 :(得分:3)

这是一个立即恢复一堆bacpac文件的脚本: Bulk Restore bacpac files local

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