【发布时间】:2014-01-20 13:04:31
【问题描述】:
我正在为特定的网络应用程序进行自动化测试。它使用数据库来持久化数据(本例中为 SQL Server)。
在我们的自动化测试中,我们执行了多项数据库更改(插入、更新)。在执行完测试后,我们希望将数据库恢复到原始状态。
步骤如下:
- 以某种方式创建备份
- 执行测试
- 从备份中恢复数据
第一个版本非常简单 - 创建表备份然后恢复它。但我们遇到了引用完整性问题。
之后我们决定使用完整的数据库备份,但我不喜欢这个想法。
我们还认为我们可以跟踪所有引用并仅备份需要的表而不是整个数据库。
最后的想法是以某种方式记录我们的操作(插入、更新),然后执行反向操作(删除以进行插入,使用旧数据进行更新以进行更新),但这看起来有点复杂。
可能有其他解决方案吗?
【问题讨论】:
标签: sql sql-server sql-server-2008 backup