有人知道如何复制SQL Azure数据库到我的开发机器吗?我不想再花钱在云端建立开发数据库,但这是获得生产数据的最佳方式。我将我的生产数据库复制到一个新的开发数据库,但我想在本地拥有相同的数据库。
有什么建议吗?
有人知道如何复制SQL Azure数据库到我的开发机器吗?我不想再花钱在云端建立开发数据库,但这是获得生产数据的最佳方式。我将我的生产数据库复制到一个新的开发数据库,但我想在本地拥有相同的数据库。
有什么建议吗?
当前回答
公认的答案已经过时了。我找到了一个更好的答案:使用导入数据层应用程序
更多详细信息请参阅本文: 恢复Azure SQL数据库到本地服务器
其他回答
如果有人在导入使用Azure SQL Sync的DB的Bacpac时遇到问题,Sandrino Di Mattia开发了一个非常简单的应用程序来解决这个问题。
导出您的数据库的Bacpac 下载Di Mattia的二进制文件 用这个控制台应用程序修复下载的Bacpac 开展地对地导弹 右键单击“数据库”,选择“导入数据层应用程序” 选择修复后的Bacpac。
我总是使用导入/导出功能,这似乎是最简单的一个。
步骤1:
从azure实例获取备份,如下所示,选择数据库→右键单击→任务→导出数据层应用程序。
步骤2: 为备份文件指定一个特定的名称,并将其保存在所需的位置
步骤3:您已经将数据库的备份从sql实例备份到本地。让我们将其恢复到本地。将备份的数据库复制到C盘。现在用管理员权限打开PowerShell并导航到C驱动器
步骤4:让我们下载powershell脚本来删除主密钥removemasterkey。ps1将脚本放在同一个驱动器上,在这种情况下是C。
第五步:运行脚本,如下所示。 \ RemoveMasterKey。ps1 -bacpacPath "C:\identity.bacpac"
就是这样,现在您可以在本地环境中的MSSQL 2017上恢复它。
步骤6:连接到本地服务器,然后单击数据库→导入-数据层-应用程序
步骤7:为要恢复的数据库指定一个名称。
现在你会看到所有的东西都变成绿色了!
用图表阅读我的博客。
您可以尝试使用“SQL数据库迁移向导”工具。 这个工具提供了从azure sql导入和导出数据的选项。
详情请点击这里。
https://sqlazuremw.codeplex.com/
对我来说,诀窍是开始在空DB上复制pk /FKs/约束,然后在导入数据时暂时禁用约束(参见https://stackoverflow.com/a/161410)。
更准确地说应该是:
手动创建空目标DB; 右键单击源DB > Tasks >生成脚本; 在空的目标DB上运行脚本文件(现在DB有正确的PKs/FKs/约束,但没有数据); 禁用所有约束; 导入数据(右键单击目标DB > Tasks > Import data); 重新启用约束。
希望这能有所帮助!
我觉得现在容易多了。
启动SQL管理工作室 右键单击“数据库”,选择“导入数据层应用程序…” 该向导将引导您完成连接到Azure帐户、创建BACPAC文件和创建数据库的过程。
此外,我使用Sql Backup和FTP (https://sqlbackupandftp.com/)每天备份到一个安全的FTP服务器。我只是从那里取出一个最近的BACPAC文件,然后在同一个对话框中导入它,这样创建本地数据库就更快更容易了。