Azure SQL数据库Bacpac本地还原

Ben*_*ter 127 azure bacpac azure-sql-database

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

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

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

Jos*_*ell 176

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

  1. 右键单击Connection> Databases节点,然后选择" Import Data-tier application ... "
  2. 在介绍步骤中选择" 下一步 ".
  3. 在此输入图像描述
  4. 浏览或连接到保留备份的存储帐户.

  • 您可以使用Management Studio导入大量bacpac文件似乎存在一些限制.如果你点击OutOfMemory异常,请查看Flea的答案,了解如何使用命令行工具SqlPackage.exe (4认同)
  • 太棒了.RedGate工具可以很好用.我很高兴看到MS支持选项. (2认同)
  • 它适用于sql express 2012吗?因为我有以下错误消息:计数不从包加载架构模型.(Microsoft.SqlServer.Dac)------------------------------附加信息:内部错误.内部目标平台类型SqlAzureDatabaseSchemaProvider不支持模式文件版本"2.5".(文件:C:\ Users\xxxxx\Downloads\dbname-2013-10-10-20-2.bacpac)(Microsoft.Data.Tools.Schema.Sql) (2认同)

Fle*_*lea 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. 您将要执行SqlPackage.exe

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

  • 我花了很多时间寻找这个解决方案,我设法下载整个管理工作室2014年. (2认同)

小智 10

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

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

这些工具可在此处获得:

http://sqldacexamples.codeplex.com/documentation


Ben*_*ter 7

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

  • 这个答案应该更新,或者不再是接受的答案.此后,链接工具已成为"云"解决方案,不支持本地备份. (2认同)
  • 备份工具仍可从http://www.red-gate.com/products/dba/sql-azure-backup/Discontinued获取 (2认同)

Ada*_*son 5

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

有一点需要注意:从2013年3月26日起(当我需要自己了解如何做的时候),当您从Azure导出.bacpac时,它将以.zip文件下载,而不是 .bacpac文件,并且导入向导中的“浏览”按钮打开的文件对话框将仅显示* .bacpac或在文件过滤器中,表示不支持.zip。但是,如果将过滤器更改为,选择下载的.zip,然后单击“下一步”,向导将正常进行。

  • 这是正确的答案。您现在可以安装SSMS 2016的免费独立版本,它提供所有这些功能 (2认同)