从Azure中的生产数据库创建测试或阶段数据库

时间:2019-06-03 06:39:50

标签: azure azure-sql-database

我不确定如何从Azure中的另一个数据库创建数据库以用作测试/阶段数据库。好像Azure门户中的“复制”按钮已从我在线阅读的旧教程中消失了。

我创建了一个数据库,该数据库将用作生产数据库。现在,我想创建一个完全相同的数据库,每天凌晨我想将生产数据库的表,数据等复制到副本中,因为它是一个完全相同的副本,所以我早上可以进来并从测试/阶段(复制的)数据库中进行工作,并进行更改(添加数据,删除数据,更改表等),然后在准备好更新生产数据库时进行修改。

是否有任何好的教程或其他方法可以实现这一目标?

有哪些处方方法可以做到这一点?

我应该在我的计算机上有一些本地副本,还是应该在Azure中有两个数据库(产品,测试)?

这里的任何建议将不胜感激!

2 个答案:

答案 0 :(得分:1)

您想每天在生产数据库和测试/阶段数据库之间同步数据。 从生产数据库获取数据,然后在test / stage数据库中进行测试,然后再次更新到生产数据库。我说的对吗?

Azure SQL数据库Data Sync可以帮助您实现这一目标。

摘要:

数据同步在需要跨多个Azure SQL数据库或SQL Server数据库保持最新数据的情况下很有用。以下是数据同步的主要用例:

  • 混合数据同步:通过数据同步,您可以保留数据 在本地数据库和Azure SQL之间同步 数据库以启用混合应用程序。此功能可能会吸引人 给正在考虑迁移到云并且愿意 将其一些应用程序放入Azure。
  • 分布式应用程序:在许多情况下,将它们分开是有益的 跨不同数据库的不同工作负载。例如,如果您 有一个大型生产数据库,但是您还需要运行一个 报告或分析此数据的工作负载, 第二个数据库来处理此额外的工作负载。这种方法最小化 性能对生产工作负载的影响。您可以使用数据 同步以使这两个数据库保持同步。
  • 全球分布式应用程序:许多企业跨越多个领域 地区,甚至几个国家/地区。尽量减少网络 延迟,最好将数据放在您附近的区域中。用 数据同步,您可以轻松地将数据库保留在世界各地 同步。

数据同步支持同步方向可以是集线器到成员,或成员到集线器,或两者都有。

您可以在Azure SQL数据库中创建数据库,并使用相同的架构创建本地数据库(出于成本考虑)。使用Azure SQL数据库数据同步以手动或自动方式在生产db和本地db之间同步数据。

关于如何创建数据同步,请参考以下官方教程:Tutorial: Set up SQL Data Sync between Azure SQL Database and SQL Server on-premises

希望这个家伙

答案 1 :(得分:0)

您可以在Azure SQL数据库上有两个数据库。一个是您的生产数据库,另一个是您的测试/阶段数据库。您可以使用Azure Automation和PowerShell在需要的时候(每天,每周一次等)刷新(删除/创建)测试/阶段数据库

1。检查COPY数据库是否已存在-如果存在则将其删除

 Get-AzureRmSqlDatabase -ResourceGroupName $ResourceGroupName -ServerName $SqlServerName -DatabaseName $databaseCopyName
 Remove-AzureRmSqlDatabase -ResourceGroupName $ResourceGroupName -ServerName $SqlServerName
 -DatabaseName $databaseCopyName `
 -Force

2。创建COPY数据库

 New-AzureRmSqlDatabaseCopy -ResourceGroupName rg-resourcegroupname -ServerName sql-servername
 -Tags @{key="value"} -DatabaseName sqldb-databasename
 -CopyResourceGroupName rg-resourcegroupname -CopyServerName sql-servername
 -CopyDatabaseName sqldb-databasename-copy
相关问题