当他触发 SQL 触发器时,有没有办法存储用户的 id?

Posted

技术标签:

【中文标题】当他触发 SQL 触发器时,有没有办法存储用户的 id?【英文标题】:Is there a way of storing user's id when he triggers a SQL trigger? 【发布时间】:2009-02-04 15:47:45 【问题描述】:

当他/她在 T-SQL 2005 上触发删除触发器时,是否有任何方法可以跟踪用户的身份,例如使用唯一标识符?如果我确实记录了 UNIQUEIDENTIFIER,我如何将其追溯到用户?

【问题讨论】:

【参考方案1】:

看看 suser_sname() 或 user_name() 用于 windows/sql 登录,当然如果每个人都使用相同的登录,这对你没有帮助

已删除的伪表将包含所有要删除的行,因此在最坏的情况下,您可以将它们卸载到其他地方以防万一您需要将它们取回

【讨论】:

【参考方案2】:

您可以在触发时存储@@SPID 并使用 sp_who 追溯到用户

【讨论】:

以上是关于当他触发 SQL 触发器时,有没有办法存储用户的 id?的主要内容,如果未能解决你的问题,请参考以下文章

SQL触发器到应用程序[关闭]

mysql之视图,触发器,存储过程,事物,函数

存储过程与触发器的区别

使 sqlite 用户定义的函数不会在空选择时触发

SQL Server 存储过程和触发器

SQL Server 数据库的维护__触发器