有没有一种简单的方法在调试期间将MSSQL 2005数据库重置为预定义状态?

时间:2009-03-26 09:19:43

标签: sql-server sql-server-2005

我经常发现自己处于以下情况:

  1. 客户报告其数据库中的损坏数据。
  2. 我们通过尝试和错误来研究问题。
  3. 我们尝试使用我们的应用程序或我们产品附带的一个或两个维修工具来解决问题。 (只有在非常糟糕的情况下,我们才会编写修复脚本来单独解决特定问题)
  4. 我们会向客户或客户服务部门发送逐步程序以解决问题。
  5. 所有步骤(第一步除外)都会导致客户数据库发生变化。但它是 至关重要,特别是在第4步,一切都适用于原始数据库。

    目前,我们确保只使用它的副本,并在每次测试之前切换回新的副本。 当涉及一次性流程时,这变得非常烦人。 (只能做一次的事情,比如创建特定的发票,处理特定的交货,......)

    当然这是一个非常缓慢的过程,尤其是对于大型数据库。 我已经尝试过备份功能,但这似乎比复制.mdf文件更慢。

    有没有办法快速恢复在预定义检查点之后所做的任何更改?

1 个答案:

答案 0 :(得分:2)

看一下“快照”,因为它们可能就是你所追求的:

http://www.simple-talk.com/sql/database-administration/sql-server-2005-snapshots/ http://msdn.microsoft.com/en-us/library/ms175876.aspx

唯一的另一个选择,实际上是复制你正在操作的特定表,然后恢复它们(通过SELECT INTO复制原始表,操作,删除旧,重命名副本)。