1: select *,space(20) as 用户,getdate() as 时间 into logTable from tablename
2:如下触发器,但不能知道执行哪条语句。
create trigger 名  on tableName
For delete
As
   insert logTable select host_name(),getdate(),* from deleted

解决方案 »

  1.   

    1: select top 0 *,space(20) as 用户,getdate() as 时间 into logTable from tablename
    2:如下触发器,但不能知道执行哪条语句。
    create trigger 名  on tableName
    For delete
    As
       insert logTable select host_name(),getdate(),* from deleted
      

  2.   

    这种功能,应该用报警来做在联机帮助里查看 sp_addmessage    raiserror
      

  3.   

    用一个触发器恐怕不行,建议你建一个日志表,
    字段
    FLogID 日志ID,可以用自增字段
    FUserID 操作者ID 
    FDate  日期
    FStatus 执行的语句
    FResult 删除了哪些记录
    删除的时候,写入这张表,然后从这张表再读数据显示
      

  4.   

    建立Log_Table,在原來的表上在增加兩個欄位DelBy,DelTime
    --****************************************************
    --監控刪除資料紀錄,刪除者,刪除時間及刪除了那條紀錄
    --****************************************************
    CREATE TRIGGER Log_Table ON dbo.YourTable
    FOR  DELETE 
    AS
     set nocount on       insert into Log_Table select * ,  system_user, getdate() from  deleted
      

  5.   

    To sxh401(天涯) :
           天涯兄,首先建立YourTableLog,比原來的YourTable多兩個欄位用來記錄登陸帳號和刪除時間,然後運行下面的觸發器,然後你在YourTable中刪除一條紀錄,之後再在YourTableLog中查一下原來的紀錄是否在裡面,我試過,可以成功紀錄刪除者,刪除時間,刪除了那筆記錄CREATE TRIGGER Log_Table ON dbo.YourTable
    FOR  DELETE 
    AS
     set nocount on       insert into YourTableLog select * ,  system_user, getdate() from  deleted
      

  6.   

    用触发器不行,问题是server不知是哪个用户操作,还是用日志文件
      

  7.   

    To LengyuYuan(冷雨)
    恩,你的办法我知道,用你的方法也是可行的,可是,数据的丢失怀疑是程序执行的结果,所以我想跟踪一下看看是什么语句导致的数据丢失,用你的方法取出了用户和时间,但是执行删除的语句还是没有取出来
      

  8.   

    To cxmcxm(小陈) :
    用日志怎么实现?谢谢!