在实际操作中,有必要记录用户对数据库表的记录的更改操作,例如:一个用户对一个表的一个记录进行更新,更新之后,我想知道用户在什么时候更新了这条记录,这条记录的那个几个字段被更新了。接着我想把这些更改操作都用一个表存储起来,以便日后查看。
这个该怎样实现呢?

解决方案 »

  1.   

    建立个log表,然后在表上建立触发器,当进行更新操作的时候,进行记录
      

  2.   

    我明白你的想法,这样是可以实现对单个表的操作记录,但是有一个种情况是,用户更新了table1的三个字段,接着又更新了table2的5个字段,字段不一样,你怎样可以实现记录呢?
      

  3.   


    一般都是Table 附着个Table_log
      

  4.   

    用“SQL Server Profiler”对此表作个审核(Audit Database Object Access Event),将结果记录到表中。
      

  5.   

    如果从没有接触过,可以搜索一下 SQL Server Profiler(事件跟踪器)的使用。在这只能简单说,就是使用 SQL Server Profiler 跟踪“Audit Database Object Access Event”事件(可以设置“筛选器”,指定只跟踪对特定表的修改操作),将跟踪记录保存到特定的表中。