有人知道如何复制SQL Azure数据库到我的开发机器吗?我不想再花钱在云端建立开发数据库,但这是获得生产数据的最佳方式。我将我的生产数据库复制到一个新的开发数据库,但我想在本地拥有相同的数据库。
有什么建议吗?
有人知道如何复制SQL Azure数据库到我的开发机器吗?我不想再花钱在云端建立开发数据库,但这是获得生产数据的最佳方式。我将我的生产数据库复制到一个新的开发数据库,但我想在本地拥有相同的数据库。
有什么建议吗?
当前回答
这很简单。这对我很管用……在获取Azure SQL数据库到本地机器方面…
打开SQL Management Studio并连接到Azure SQL Server。 选择您想要下载到本地机器上的数据库,然后右键单击…选择“生成脚本”。按照提示…
但是,要注意的是,如果你也想要数据,以及脚本,一定要检查高级选项在开始生成…向下滚动到“脚本的数据类型”,并确保你有“模式和数据”…或者任何适合你的。
它会给你一个漂亮的SQL脚本文件,然后可以在你的本地机器上运行,它会创建数据库,并填充所有的数据。
请记住,在我的情况下,我没有FK或其他约束…而且,数据也不多。
一般来说,我不建议将此作为备份机制……
其他回答
我觉得现在容易多了。
启动SQL管理工作室 右键单击“数据库”,选择“导入数据层应用程序…” 该向导将引导您完成连接到Azure帐户、创建BACPAC文件和创建数据库的过程。
此外,我使用Sql Backup和FTP (https://sqlbackupandftp.com/)每天备份到一个安全的FTP服务器。我只是从那里取出一个最近的BACPAC文件,然后在同一个对话框中导入它,这样创建本地数据库就更快更容易了。
使用SQL Azure中的导入/导出服务创建.bacpac文件。
然后在另一篇Stack Overflow文章中查看此方法。
Azure SQL数据库Bacpac本地恢复
使用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”
嗨,我正在使用SQLAzureMW工具进行SQLAzure DB迁移和管理。非常有用。它是从codeplex下载的,但目前它不可用,codeplex将会关闭,相同的应用程序工具现在在GttHub中可用。下面的链接解释了如何使用这个工具,也可以下载应用程序。
https://github.com/twright-msft/azure-content/blob/master/articles/sql-database/sql-database-migration-wizard.md
关于“我无法让SSIS导入/导出工作,因为我得到了错误“插入只读列“id”失败”。 这可以通过在映射屏幕中指定允许插入Identity元素来解决。
在此之后,使用SQL导入/导出向导从Azure复制到本地数据库,一切工作正常。
我只有SQL Server 2008 R2附带的SQL导入/导出向导(工作良好)和Visual Studio 2012 Express来创建本地数据库。