您的位置:首页 > 数据库

Sql Server 查看表修改记录

2016-04-05 17:26 239 查看
可以尝试如下建议:
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: