大家好,请问能否在某张表中做一个触发器,对于更新了某个字段field1后,记录下更新这条记录的具体sql语句?
应为最近我们数据库中有长表的某个字段的数据莫名奇妙变了,在程序里找不到原因,想通过找到具体更新该字段的sql语句后再确定是否是程序或是人为的原因。
如果可以应该怎么实现?

解决方案 »

  1.   

    处理过类似问题,你最好在程序里面控制。insert into 你的sql语句就行了。
      

  2.   

    1、事件探查器
    2、可以自已建一个日志表,每更新字段field1后就将更新语句添加到此表中。
      

  3.   

    log explorer自己到百度搜一下,
    不过得注意备份策略
      

  4.   

    但是你还是不知道谁在哪台客户机上执行的SQL
      

  5.   

    如果是SQL 2005以上,你可以查下联机丛书 "DDL 触发器"
    举例CREATE TRIGGER safety 
    ON DATABASE 
    FOR DROP_TABLE, ALTER_TABLE 
    AS 
       PRINT 'You must disable Trigger "safety" to drop or alter tables!' 
       ROLLBACK
    ;