Sql Server 查看表修改记录

时间:2023-03-09 16:01:19
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.****.net/topics/390903317