admin

如何在不使用完整备份的情况下用生产数据刷新SQL Server的测试实例

sql

我有两台MS SQL 2005服务器,一台用于生产,一台用于测试,并且都具有完整的恢复模型。我将生产数据库的备份还原到测试服务器,然后让用户进行更改。

我希望能够:

  • 回滚对测试SQL Server所做的所有更改
  • 应用自最初还原测试服务器以来在生产SQL服务器上发生的所有事务,以便两台服务器具有相同的数据

我不想从备份文件中进行完整的数据库还原,因为这对于我们+ 200GB的数据库来说花费的时间太长了,尤其是当所有更改的数据都小于1GB时。

编辑

根据以下建议,我尝试使用NoRecovery还原数据库,但是您无法创建处于该状态的数据库的快照。

我还尝试了将其还原为“待机只读”模式,该模式可以正常工作,然后可以对数据库进行快照,并且仍然将事务日志应用于原始数据库,但是只要有针对它的快照,我就无法使数据库再次可写。

跑步:

restore database TestDB with recovery

导致以下错误:

Msg 5094, Level 16, State 2, Line 1 The operation cannot be performed on a database with database snapshots or active DBCC replicas

阅读 131

收藏
2021-06-07

共1个答案

admin

在尝试了这里提供的所有建议之后,我还没有找到通过SQL完成问题中概述的方法的任何方法。如果有人可以找到方法并发布它,或者有其他建议,我很乐于尝试其他方法,但是目前看来还没有办法实现此目的。

2021-06-07