我有一个表,我正在使用插入/更新/删除触发器来审计。我想限制对审计表的访问,以便只有触发器可以写入它。我想知道的是,这些触发器将哪些用户算作将记录插入审计表。
编辑:由于 phil 在他的评论中向我展示了有关如何确定的文档,这稍微改变了我的问题。
限制对审计表的访问以便只有触发器才能插入记录的好方法是什么?
我有一个表,我正在使用插入/更新/删除触发器来审计。我想限制对审计表的访问,以便只有触发器可以写入它。我想知道的是,这些触发器将哪些用户算作将记录插入审计表。
编辑:由于 phil 在他的评论中向我展示了有关如何确定的文档,这稍微改变了我的问题。
限制对审计表的访问以便只有触发器才能插入记录的好方法是什么?
无需
EXECUTE AS
通过所有权链接提升权限。为确保仅通过触发器将行插入到审计表中,只需不要授予INSERT
对审计表的权限即可。只要所有对象都属于同一个用户(例如 dbo),所有权链就不会中断,并且允许触发器在没有直接权限的情况下插入到审计表中。