乏mily

导航

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

posted on 2016-04-05 17:26  乏mily  阅读(4398)  评论(0编辑  收藏  举报