Sql Server 查看表修改记录
可以尝试如下建议:
1、可以使用默认的Log工具或者第三方的(比如:LiteSpeed)的工具。
2、做Trace机制,下次出现问题可以溯源。
3、一个简单的办法:
--Step #1: USE DBName GO SELECT [Transaction ID], Operation, Context, AllocUnitName FROM fn_dblog(NULL, NULL) WHERE Operation = 'LOP_DELETE_ROWS' and AllocUnitName= 'dbo.Test.PK__Test__5F573DD6' -- 这里 'dbo.Test.PK__Test__5F573DD6'指表名的PK_Name -- 可以使用 SP_Pkeys SourceTableName 查到 --Step #2: SELECT Operation, [Transaction ID], [Begin Time], [Transaction Name], [Transaction SID] FROM fn_dblog(NULL, NULL) WHERE [Transaction ID] ='0000:0005afba' -- 这里 '0000:0005afba' 指Step #1中的Transaction ID AND [Operation] = 'LOP_BEGIN_XACT' --Step #3: USE MASTER GO SELECT SUSER_SNAME(0x01) 'UserID' --这里'0000:0005afba' 值Step #2中的Transaction SID
查找表 主键:
select * from sysobjects where parent_obj in (select id from sysobjects where name='tbName') and xtype='pk'
原文链接:http://bbs.csdn.net/topics/390903317