首页 > 解决方案 > 有没有办法默认触发器在特定用户上运行以进行 DML 操作?

问题描述

我在数据库 A 中的表 A 上有一个触发器,它将数据插入到数据库 B 中的表 b 中,两个数据库都在同一台服务器上。

对数据库 A 中的表 A 具有开发人员访问权限的用户在执行 dml 操作时遇到错误,因为他的角色仅限于使用数据库 A。有没有办法默认触发器在特定连接上运行

标签: sqlsql-servertsqldatabase-trigger

解决方案


在 SQL Server 中,触发器(以及存储过程和函数)具有EXECUTE AS子句。这使您可以在执行代码时控制权限。


推荐阅读