您能告诉我如何检索执行触发器的来电显示或姓名吗?
例如,我想知道哪个SP执行触发器或者可能是来自管理工作室的更新调用的触发器?
我知道@@ PROCID会返回触发器的ID,无法使用。
我也知道解决方案在SP中我们写入CONTEXT_INFO并从触发器读取它。 但在这种情况下,我们应该在修改某些表的所有SP中设置CONTEXT_INFO。
是否存在一些最简单的方式,如@@ PROCID?
答案 0 :(得分:4)
如果是SQL Server 2005或2008以及DDL触发器,则可以使用eventdata()
。
Here's a link to the msdn page.
基本上它返回一个XML数据集,您可以解析该数据集以获取调用它的人(data(/EVENT_INSTANCE/LoginName)[1]
),命令是什么等等。