当前位置:  数据库>sqlserver

sql server记录修改追踪和恢复的解决方法

    来源: 互联网  发布时间:2014-08-29

    本文导语:  客户要求: 使用者操作数据库关键记录时要记录使用者的ID,时间,修改的内容等,在必要的情况下要回滚到某一时刻的记录内容。 本文为大家介绍两种解决这类问题的方法,供大家学习参考。   一、数据表冗余记录法   ...

客户要求:
使用者操作数据库关键记录时要记录使用者的ID,时间,修改的内容等,在必要的情况下要回滚到某一时刻的记录内容。
本文为大家介绍两种解决这类问题的方法,供大家学习参考。
 
一、数据表冗余记录法

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

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

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

二、新建数据表记录操作

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

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


    
 
 

您可能感兴趣的文章:

  • 推荐SQL Server 重新恢复自动编号列的序号的sql代码
  • sql数据库如何查询修改数据库恢复模式?
  • sql server中通过查询分析器实现数据库的备份与恢复方法分享
  • SQL Server 不删除信息重新恢复自动编号列的序号的方法
  • SQL Server误区30日谈 第28天 有关大容量事务日志恢复模式的误区
  • 一次 sql server 日志恢复的记录(搞定drop和truncate)
  • SQL Server 置疑、可疑、正在恢复等情况分析
  • MDF文件在SQL Server中的恢复技术
  • SQL Server中通过扩展存储过程实现数据库的远程备份与恢复
  • Sql2000数据库的备份文件恢复到Sql2005的方法
  • 请问这是什么错误(数据源应该没问题),分虽然少,但一定给,只要您是前5命回复者中恢复最好的一位!?java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]COUNT 栏位不正确
  • 教你轻松恢复/修复SQL Server的MDF文件
  • SQL入侵恢复xp_cmdshell方法总结
  • 如何恢复SQL Server 2000损坏的数据库文件
  • SQL Server简单模式下误删除堆表记录恢复方法(绕过页眉校验)
  • ASP.NET实现在线备份与恢复Sql server
  • sql数据库多用户模式修改方法
  • sql2005 默认端口的修改方法
  • Web服务器/前端 iis7站长之家
  • 一条SQL语句修改多表多字段(多表更新)
  • Oracle中在pl/sql developer修改表的2种方法
  • sql 批量修改数据库表
  • 修改数据库文件及日志文件增量的sql语句
  • sql 修改表的所有者
  • 一条SQL语句修改多表多字段的信息的具体实现
  • sql修改字段长度(练习)
  • sql数据库修改数据库用户
  • sql 添加删除修改字段的方法介绍
  • sql数据库修改sa密码操作教程
  • sql2005以上版本解决syscolumn表中数据无法修改问题
  • sql server 触发器实例(判断是插入、删除,还是修改)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 安装SQL2008时提示删除SQL2005Express工具的解决方法
  • SQL Server"错误 21002: [SQL-DMO]用户 * 已经存在问题解决
  • (X86/X64)安装sql server 2005 过程中提示“无法启动sql server的 启动”的解决方法
  • sql无效字符引起的执行sql语句报错的解决方法
  • 安装sql server 2008 management提示已安装 SQL Server 2005 Express的解决方法
  • sql server 代理(已禁用代理xp)的解决方法
  • 解决:未与信任SQL Server连接相关联的问题
  • sql无效字符 执行sql语句报错解决方案
  • MS SQL Server2014链接到MS SQL Server 2000的解决方案及问题处理
  • Sql Server忘记密码的解决办法
  • SQL Server代理服务无法启动的解决方法
  • Oracle Sql语句长度限制问题及解决
  • sql 单引号查询异常的解决方法
  • sql server表死锁查不出数据的解决方法
  • Sql2000与Sql2005共存安装的解决方法
  • Microsoft SQL Server 2005 错误 29503 的解决方法
  • sa用户无法登录sql server 2005的解决方法
  • SQL Server 2005 还原数据库错误解决方法
  • sql server 复制路径出问题的解决方法
  • sql server2012附加数据库问题解决方法
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL Server统计SQL语句执行时间的脚本
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3