有人知道如何复制SQL Azure数据库到我的开发机器吗?我不想再花钱在云端建立开发数据库,但这是获得生产数据的最佳方式。我将我的生产数据库复制到一个新的开发数据库,但我想在本地拥有相同的数据库。

有什么建议吗?


当前回答

如果有人想要一个免费有效的选项(也不介意手动操作)来将数据库备份到本地,那么可以使用最新版本Microsoft Visual Studio 2015社区版(免费)或专业/高级/终极版中内置的模式和数据比较功能。它像魔法一样有效!

我有BizPark帐户与Azure,没有办法直接备份数据库没有支付。我发现这个选项在VS工作。

答案摘自https://stackoverflow.com/a/685073/6796187

其他回答

将Azure数据库数据复制到本地数据库: 现在你可以使用SQL Server Management Studio来完成如下操作:

连接到SQL Azure数据库。 在对象资源管理器中右键单击数据库。 选择“任务”/“部署数据库到SQL Azure”选项。 在“部署设置”步骤中,连接本地SQL Server并创建新数据库。

"Next" / "Next" / "Finish"

我只是想把邓布利多爸爸的回答简化一下,因为这是正确的答案。

将Azure SQL数据库导出到blob存储上的BACPAC文件。 在SQL Management studio中,右键单击数据库,单击“导入数据层应用程序”。 系统将提示您输入信息以获取Azure blob存储上的BACPAC文件。 点击next几次,然后…完成了!

对我来说,诀窍是开始在空DB上复制pk /FKs/约束,然后在导入数据时暂时禁用约束(参见https://stackoverflow.com/a/161410)。

更准确地说应该是:

手动创建空目标DB; 右键单击源DB > Tasks >生成脚本; 在空的目标DB上运行脚本文件(现在DB有正确的PKs/FKs/约束,但没有数据); 禁用所有约束; 导入数据(右键单击目标DB > Tasks > Import data); 重新启用约束。

希望这能有所帮助!

关于“我无法让SSIS导入/导出工作,因为我得到了错误“插入只读列“id”失败”。 这可以通过在映射屏幕中指定允许插入Identity元素来解决。

在此之后,使用SQL导入/导出向导从Azure复制到本地数据库,一切工作正常。

我只有SQL Server 2008 R2附带的SQL导入/导出向导(工作良好)和Visual Studio 2012 Express来创建本地数据库。

您可以尝试使用“SQL数据库迁移向导”工具。 这个工具提供了从azure sql导入和导出数据的选项。

详情请点击这里。

https://sqlazuremw.codeplex.com/