如何从触发器中检查谁在执行操作

时间:2014-02-20 07:35:33

标签: sql-server tsql triggers

有没有办法找出用于在桌面上执行更新的帐户?

基本上,我们有一些自动过程可以定期更新表。不幸的是,这个过程没有记录,我们正试图找出谁在做出改变。为了做到这一点,我正在考虑使用表上的触发器来检测“流氓”更新。我知道这远非理想,但我认为这可能是最简单的方法,可以在不杀死产品的情况下计算出发生的事情......

有没有人有任何见解?

1 个答案:

答案 0 :(得分:0)

您可以使用system_user功能:

CREATE OR REPLACE TRIGGER logging_tr
BEFORE INSERT ON my_table
FOR EACH ROW
INSERT INTO logging_table (logger_user, logged_date)
VALUES (SYSTEM_USER, GETDATE();
END;