有没有办法将特定用户的触发器默认设置为 运行 以进行 DML 操作?
Is there a way to default the trigger to run on specific user for DML operations?
我在数据库 A 中的 Table A 上有一个触发器,它将数据插入到数据库 B 中的 Table b 中,两个数据库都在同一台服务器上。
对数据库 A 中的 Table A 具有开发人员访问权限的用户在执行 dml 操作时遇到错误,因为他的角色仅限于使用数据库 A。有没有办法在特定连接上将触发器默认设置为 运行?
在 SQL 服务器中,触发器(以及存储过程和函数)具有 EXECUTE AS
子句。这使您可以在执行代码时控制权限。
我在数据库 A 中的 Table A 上有一个触发器,它将数据插入到数据库 B 中的 Table b 中,两个数据库都在同一台服务器上。
对数据库 A 中的 Table A 具有开发人员访问权限的用户在执行 dml 操作时遇到错误,因为他的角色仅限于使用数据库 A。有没有办法在特定连接上将触发器默认设置为 运行?
在 SQL 服务器中,触发器(以及存储过程和函数)具有 EXECUTE AS
子句。这使您可以在执行代码时控制权限。