我在Azure SQL 数据库中有两个数据库,其结构几乎相同(除非修改了其中之一)。我需要将生产数据库中的数据与登台数据库同步,能够在不损害生产的情况下在登台中进行更改,除非我需要进行生产恢复(这是另一个主题)。 在没有解决方案的情况下,我希望能够在开发人员需要时使登台等于生产,是否有一种方法可以使用另一个数据库的备份来修改数据库,而无需创建新数据库(因为您将必须在应用程序中修改服务器名称)
最佳答案
我目前在我的环境中采用的流程是:
从 STAGING 和 PROD 完全相同的基线开始。您可以通过将最新备份从 PROD 环境恢复到 STAGING 环境来实现。
当 DEV 中发生更改并需要发布到 STAGING 时,请创建适当的发布脚本以应用于 STAGING。
当您需要刷新 STAGING 中的数据时,请再次将最新备份从 PROD 恢复到 STAGING。
可选:运行刷新后所需的任何暂存特定脚本。例如。如果您混淆任何数据,或更改数据以表明它是暂存环境。
在 STAGING 中运行任何尚未发布到 PROD 的发布脚本。
随着时间的推移,您在 STAGING 中使用的发布脚本应该习惯于发布到 PROD,这将有助于保持两个环境同步。
按照您的目标可接受的频率重复步骤 2、3 和 4。
我在 SQL 作业中有上述内容,因此它本质上是一个一键式过程,但我的数据库是本地 SQL Server。我还使用名为 SQL Examiner 的模式比较工具自动生成我需要的发布脚本,但不确定它是否适用于 Azure SQL 数据库。
关于sql-server - 将生产 Azure SQL 数据库中的数据与临时数据库同步,允许在第二秒内进行更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74572897/