有人知道如何复制SQL Azure数据库到我的开发机器吗?我不想再花钱在云端建立开发数据库,但这是获得生产数据的最佳方式。我将我的生产数据库复制到一个新的开发数据库,但我想在本地拥有相同的数据库。
有什么建议吗?
有人知道如何复制SQL Azure数据库到我的开发机器吗?我不想再花钱在云端建立开发数据库,但这是获得生产数据的最佳方式。我将我的生产数据库复制到一个新的开发数据库,但我想在本地拥有相同的数据库。
有什么建议吗?
当前回答
对我来说,诀窍是开始在空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 Server Management Studio来完成这项工作。
连接到SQL Azure数据库。 在对象资源管理器中右键单击数据库。 选择“任务”/“部署数据库到SQL Azure”选项。 在名为“部署设置”的步骤中,选择您的本地数据库连接。 "Next" / "Next" / "Finish"…
您可以使用新的Azure移动服务执行夜间备份导出,从SQL Azure导出到Azure存储托管的.bacpac文件。这个解决方案是100%的云计算,不需要第三方工具,也不需要本地托管的SQL Server实例来下载/复制/备份任何东西。
大约有8个不同的步骤,但都很简单: http://geekswithblogs.net/BenBarreth/archive/2013/04/15/how-to-create-a-nightly-backup-of-your-sql-azure.aspx
使用msdeploy.exe
注意:msdeploy.exe不能自己创建目标数据库,因此需要先手动创建它。
复制数据库属性页上的连接字符串。调整它,使其包含正确的密码。 获取目标DB的连接字符串。 像这样运行msdeploy.exe: "c:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -dest:dbDacFx="destination_DB_connection_string",dropDestinationDatabase=true -source:dbDacFx="azure_DB_connection_string",includeData=true -verbose
使用SqlPackage.exe
导出azure DB到一个bacpac包。 "c:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /a:Export /ssn:"azure_db_server" /sdn:"azure_db_name" /su:"user_name" /sp:"password" /tf:"file.bacpac" 导入包到本地DB。 “c:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe”/a:Import /SourceFile:"bacpac“/ TargetServerName:”。/ TargetDatabaseName: CopyOfAzureDb \ SQLEXPRESS”
我总是使用导入/导出功能,这似乎是最简单的一个。
步骤1:
从azure实例获取备份,如下所示,选择数据库→右键单击→任务→导出数据层应用程序。
步骤2: 为备份文件指定一个特定的名称,并将其保存在所需的位置
步骤3:您已经将数据库的备份从sql实例备份到本地。让我们将其恢复到本地。将备份的数据库复制到C盘。现在用管理员权限打开PowerShell并导航到C驱动器
步骤4:让我们下载powershell脚本来删除主密钥removemasterkey。ps1将脚本放在同一个驱动器上,在这种情况下是C。
第五步:运行脚本,如下所示。 \ RemoveMasterKey。ps1 -bacpacPath "C:\identity.bacpac"
就是这样,现在您可以在本地环境中的MSSQL 2017上恢复它。
步骤6:连接到本地服务器,然后单击数据库→导入-数据层-应用程序
步骤7:为要恢复的数据库指定一个名称。
现在你会看到所有的东西都变成绿色了!
用图表阅读我的博客。