有人知道如何复制SQL Azure数据库到我的开发机器吗?我不想再花钱在云端建立开发数据库,但这是获得生产数据的最佳方式。我将我的生产数据库复制到一个新的开发数据库,但我想在本地拥有相同的数据库。
有什么建议吗?
有人知道如何复制SQL Azure数据库到我的开发机器吗?我不想再花钱在云端建立开发数据库,但这是获得生产数据的最佳方式。我将我的生产数据库复制到一个新的开发数据库,但我想在本地拥有相同的数据库。
有什么建议吗?
当前回答
在SQL Server 2016 Management Studio中,将azure数据库获取到本地机器的过程已经简化。
右键单击要导入的数据库,单击Tasks > Export data-tier application,然后将数据库导出到本地的.dacpac文件。
在本地目标SQL server实例中,可以右键单击Databases >导入数据层应用程序,一旦它是本地的,就可以执行备份和恢复数据库之类的操作。
其他回答
您可以使用新的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
我只是想把邓布利多爸爸的回答简化一下,因为这是正确的答案。
将Azure SQL数据库导出到blob存储上的BACPAC文件。 在SQL Management studio中,右键单击数据库,单击“导入数据层应用程序”。 系统将提示您输入信息以获取Azure blob存储上的BACPAC文件。 点击next几次,然后…完成了!
看来2022年的Management Studio缺少功能了。下面是我如何使用Azure Data Studio:
安装Azure Data Studio Open Azure Data Studio 安装名为Admin Pack for SQL Server的扩展 重启Azure Data Studio 为源数据库(Azure)和目标数据库(本地机器)设置连接 在主数据库的本地DB引擎中执行语句:
sp_configure 'contained database authentication', 1;
GO
RECONFIGURE;
GO
右键单击源数据库并选择数据层应用程序向导 选择导出到。bacpac文件[导出bacpac](第四,在我的当前版本的最后一个选项) 完成向导 右键单击目标数据库并选择数据层应用程序 Wizzard 选择Import from .bacpac [Import bacpac](我的版本中的第三个选项) 选择先前创建的.bacpac文件并完成向导
在导入登录名和用户之后,创建了登录名和用户,但是没有设置它们的默认模式。如果需要默认的shcema,则需要手动处理。在这种情况下: 打开到本地副本的管理连接并运行: 使用[imported-db];ALTER USER - import - USER WITH DEFAULT_SCHEMA
嗨,我正在使用SQLAzureMW工具进行SQLAzure DB迁移和管理。非常有用。它是从codeplex下载的,但目前它不可用,codeplex将会关闭,相同的应用程序工具现在在GttHub中可用。下面的链接解释了如何使用这个工具,也可以下载应用程序。
https://github.com/twright-msft/azure-content/blob/master/articles/sql-database/sql-database-migration-wizard.md
对我来说,诀窍是开始在空DB上复制pk /FKs/约束,然后在导入数据时暂时禁用约束(参见https://stackoverflow.com/a/161410)。
更准确地说应该是:
手动创建空目标DB; 右键单击源DB > Tasks >生成脚本; 在空的目标DB上运行脚本文件(现在DB有正确的PKs/FKs/约束,但没有数据); 禁用所有约束; 导入数据(右键单击目标DB > Tasks > Import data); 重新启用约束。
希望这能有所帮助!