我们目前使用审核触发器来跟踪所有数据库更改。为了捕获提交删除的人的user_id,我们必须使用更新,然后让触发器执行删除,以便我们可以捕获该USER_ID。
是否有其他人使用不同的方法或采用更好的方法进行此过程?
谢谢,
- S
答案 0 :(得分:1)
对于来自客户端的直接连接,请在DELETE触发器中使用SUSER_SNAME()或类似内容。
对于间接(例如通过网站),使用SET CONTEXT_INFO (answers by me before)传递执行的用户详细信息。这可以通过网站中的代码或通过存储的proc参数进行设置。这也可以用于直接连接。
答案 1 :(得分:0)
如果您使用的是Windows身份验证(2层或模拟),则可以使用SUSER_NAME()和SUSER_ID()
select SUSER_NAME(), USER_ID()