不知怎的,每天我发现有些数据丢失,有很多作业和应用程序使用这个表,所以我想创建一个触发器并跟踪时间,用户和从中删除的存储过程我的桌子,有没有人知道如何找到用户和SP?
提前谢谢你:)
答案 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