Azure SQL数据库Bacpac本地还原
我使用Azurepipe理控制台中的“导出”选项创build了Azure SQL数据库的BACPAC备份。
已经下载到我的机器我有点卡住我如何能够恢复到本地的SQL Server实例。 我遇到了DacImportExportCli工具,但找不到本地恢复的示例。
另外如果有人写了一个脚本,这样做(所以它可以安排),这将是可怕的。
这可以通过SQL Server Management Studio 2012简单地完成
- 右键单击连接>数据库节点,然后select“ 导入数据层应用程序… ”
- 在介绍步骤中select“ 下一步 ”。
- 浏览或连接到保存备份的存储帐户。
我需要导出一个SQL Azure数据库,然后将其导入本地SQL 2008 R2服务器(注意我也使用Visual Studio 2010)。 微软当然不顾一切地做出这个痛苦的任务,但是,我能够做到这一点,做到以下几点:
-
转到此链接http://msdn.microsoft.com/en-us/jj650014并安装Visual Studio 2010的SQL Server数据工具
-
这将安装在您的本地驱动器上。 在我的情况下,这是它放在哪里:C:\ Program Files文件(x86)\ Microsoft SQL Server \ 110 \ DAC \ bin
-
通过命令行或PowerShell浏览到此
-
您将要执行SqlPackage.exe
-
打开此链接以查看SqlPackage.exe的所有参数选项的列表( http://msdn.microsoft.com/zh-cn/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链接中看到所有这些参数说明。
您可以使用客户端工具恢复BACPAC。 video在这里:
http://dacguy.wordpress.com/2011/09/09/importexport-services/
这些工具可以在这里find:
似乎我的祈祷已经回答了。 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] }