专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » sqlserver2000恢复:解决SQL Server记录修改追踪和恢复的方案 »正文

sqlserver2000恢复:解决SQL Server记录修改追踪和恢复的方案

来源: 发布时间:星期日, 2009年8月16日 浏览:0次 评论:0
  在开发过程中中可能很多人都遇到这样客户要求:使用者操作数据库关键记录时要记录使用者ID时间修改内容等在必要情况下要回滚到某时刻记录内容本文将介绍两种解决此问题方案:

  1.数据表冗余记录法

  在关键数据库表中加入 "创建时日期时间"、"创建用户"、"修改或删除时日期时间"、"修改或删除用户"、"记录状态" 等字段当然了字段名可以简化这里为了更好介绍说明“记录状态”包括“当前可用”和“存档”两种状态当用户修改记录时要执行两步操作 1).更新当前数据库记录记录修改者和时间把“记录状态”改成“存档”2)新建条记录把修改者和时间作为创建者和时间存入保存新记录内容而“记录状态”为“当前可用” 如果用户删除记录只是执行第步操作即可

  这种方案可以用在前台方便察看记录修改历史情况并可以很容易回滚到“某时刻”这里回滚不是真正回滚仍然要在表里新建记录和上面提到修改记录操作相同只不过记录内容是“某时刻”内容而已

  使用这种思路方法会造成数据库表中记录过多存储在查询和统计时性能会有影响

  2.新建数据表记录操作

  在数据库中为关键数据表建立对应“操作记录表”所有对关键记录修改、删除甚至读取都可以记录在“操作记录表”中具体实施可以在代码中控制但更好思路方法是可以使用触发器控制

  这种方案也可以在前台方便察看记录修改历史情况并可以很容易回滚
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: