我使用 Azure 管理控制台中的“导出”选项创建了 Azure SQL 数据库的 BACPAC 备份。
把这个下载到我的机器上之后,我对如何将它还原到本地 SQLServer 实例感到有点困惑。我偶然发现了 DacImport ExportCli 工具,但是找不到本地恢复的示例。
另外,如果有人写了一个脚本,这样做(这样就可以安排) ,这将是非常棒的。
看来我的祈祷得到了回应。 Redgate 今天推出了免费的 SQL Azure 备份工具 -http://www.red-gate.com/products/dba/sql-azure-backup/download
您可以使用客户端工具恢复 BACPAC:
Http://dacguy.wordpress.com/2011/09/09/importexport-services/
这些工具可以在这里找到:
Http://sqldacexamples.codeplex.com/documentation
我需要导出一个 SQL Azure 数据库,然后将其导入到本地 SQL 2008 R2服务器(注意,我也在使用 Visual Studio 2010)。微软当然想方设法让这个任务变得很痛苦,然而,我能够通过以下方式做到这一点:
转到此链接 http://msdn.microsoft.com/en-us/jj650014并安装用于 VisualStudio2010的 < em > SQLServer 数据工具
这将安装在您的本地驱动器。在我的情况下,它放在这里: C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin
C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin
通过命令行或 powershell 浏览到此
您需要执行 SqlPackage.exe
SqlPackage.exe
打开此链接可以看到 SqlPackage.exe (http://msdn.microsoft.com/en-us/library/hh550080(v=vs.103).aspx)的所有参数选项的列表
下面是我的命令行,我需要执行它来导入一个。返回到我的本地 SQL2008R2服务器:
.\SqlPackage.exe /a:Import /sf:C:\mydatabasefile.bacpac /tdn:NorthWind /tsn:BINGBONG
/tdn
/tsn
您可以在 # 5的链接中看到所有这些参数描述。
这可以通过 SQLServerManagementStudio2012简单地完成
如果您正在使用 SSMS2012,那么只需在对象资源管理器中的服务器下右键单击 Database 文件夹并选择 “导入数据层应用程序...”即可。
有一个障碍需要注意: 截至2013年3月26日(当时我需要找出如何自己做到这一点) ,当你出口一个。从 Azure 下载的 bacpac,它将作为一个 .zip文件下载,没有作为一个 .bacpac文件,在导入向导中的 Browse 按钮打开的文件对话框将只在文件过滤器中显示 *.bacpac或 *.*,这意味着不支持 .zip。但是,如果您将筛选器更改为 *.*,请选择您下载的。然后单击 下一个,向导将正常运行。
.zip
.bacpac
*.bacpac
*.*
下面是一个脚本,可以一次恢复一大堆 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] }