Azure SQL数据库Bacpac本地还原

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

已经下载到我的机器我有点卡住我如何能够恢复到本地的SQL Server实例。 我遇到了DacImportExportCli工具,但找不到本地恢复的示例。

另外如果有人写了一个脚本,这样做(所以它可以安排),这将是可怕的。

这可以通过SQL Server Management Studio 2012简单地完成

  1. 右键单击连接>数据库节点,然后select“ 导入数据层应用程序…
  2. 在介绍步骤中select“ 下一步 ”。
  3. 在这里输入图像说明
  4. 浏览或连接到保存备份的存储帐户。

我需要导出一个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. 您将要执行SqlPackage.exe

  5. 打开此链接以查看SqlPackage.exe的所有参数选项的列表( http://msdn.microsoft.com/zh-cn/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链接中看到所有这些参数说明。

您可以使用客户端工具恢复BACPAC。 video在这里:

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

这些工具可以在这里find:

http://sqldacexamples.codeplex.com/documentation

似乎我的祈祷已经回答了。 Redgate现在免费推出了他们的SQL Azure Backup工具 – http://www.red-gate.com/products/dba/sql-azure-backup/download

如果您使用的是SSMS 2012,就像在对象资源pipe理器中右键单击服务器下的“数据库”文件夹并select“导入数据层应用程序…”一样简单。

有一点需要注意的是:截至2013年3月26日(当我需要了解如何自己做这个时),当您从Azure导出.bacpac文件时,它将以.zip文件forms下载, 不是 .bacpac文件,导入向导中的“浏览”button打开的文件对话框将只显示* .bacpac或 在文件filter中,暗示不支持.zip。 但是,如果您更改filter ,select下载的.zip,然后单击下一步,向导将正常进行。

这里有一个脚本来一次恢复一堆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] }