如何查找过程或查询以及从表中删除的用户

时间:2017-05-17 11:30:29

标签: sql-server triggers

不知怎的,每天我发现有些数据丢失,有很多作业和应用程序使用这个表,所以我想创建一个触发器并跟踪时间,用户和从中删除的存储过程我的桌子,有没有人知道如何找到用户和SP?

提前谢谢你:)

1 个答案:

答案 0 :(得分:2)

以下是在触发器中获取存储过程名称的方法。可以使用suser_sname()函数获取用户。

declare @ExecStr varchar(1000);

CREATE TABLE #inputbuffer (
       EventType varchar(500)
       , Parameters varchar(500)
       , EventInfo varchar(4000)
);

SET @ExecStr = 'DBCC INPUTBUFFER(' + STR(@@SPID) + ')'

INSERT INTO #inputbuffer 
EXEC (@ExecStr)

SELECT EventInfo FROM #inputbuffer