我使用 Azure 管理控制台中的“导出”选项为我的 Azure SQL 数据库创建了 BACPAC 备份。
将它下载到我的机器后,我有点不知道如何将它恢复到本地 SQL Server 实例。我遇到了 DacImportExportCli 工具,但找不到本地还原的示例。
此外,如果有人编写了执行此操作的脚本(因此可以安排),那将是很棒的。
我使用 Azure 管理控制台中的“导出”选项为我的 Azure SQL 数据库创建了 BACPAC 备份。
将它下载到我的机器后,我有点不知道如何将它恢复到本地 SQL Server 实例。我遇到了 DacImportExportCli 工具,但找不到本地还原的示例。
此外,如果有人编写了执行此操作的脚本(因此可以安排),那将是很棒的。
这可以通过 SQL Server Management Studio 2012 简单地完成
我需要导出 SQL Azure 数据库,然后将其导入本地 SQL 2008 R2 服务器(注意我也在使用 Visual Studio 2010)。微软当然不遗余力地让这成为一项痛苦的任务,但是,我能够通过执行以下操作来做到这一点:
转到此链接http://msdn.microsoft.com/en-us/jj650014并安装适用于 Visual Studio 2010 的 SQL Server Data Tools
这将安装在您的本地驱动器上。在我的情况下,它放在这里: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:Import /sf:C:\mydatabasefile.bacpac /tdn:NorthWind /tsn:BINGBONG
/tdn
是您希望将 bacpac 文件还原到的数据库的名称。
/tsn
是您的 SQL 服务器的名称。
您可以在 #5 的链接上看到所有这些参数说明。
您可以使用客户端工具恢复 BACPAC。视频在这里:
http://dacguy.wordpress.com/2011/09/09/importexport-services/
这些工具可在此处获得:
看来我的祈祷得到了回应。Redgate 今天免费推出了他们的 SQL Azure 备份工具 - http://www.red-gate.com/products/dba/sql-azure-backup/download
如果您使用的是 SSMS 2012,只需在对象资源管理器中右键单击服务器下的数据库文件夹并选择“导入数据层应用程序...”即可。
有一个需要注意的问题:截至 2013 年 3 月 26 日(当我需要自己了解如何执行此操作时),当您从 Azure 导出 .bacpac 时,它将以 .zip 文件的形式下载,不是.bacpac 文件,导入向导中的“浏览”按钮打开的文件对话框将仅显示 *.bacpac 或. 在文件过滤器中,暗示不支持 .zip。但是,如果您将过滤器更改为. ,选择您下载的.zip,然后单击下一步,向导将正常进行。
这是一次恢复一堆 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] }