[英]Running trigger that calls stored procedure on another database
我们想在一个数据库(A)上运行触发器,以在另一个数据库(B)上调用存储过程。
CREATE TRIGGER trg_A ON TableA FOR INSERT AS BEGIN EXEC DatabaseB.dbo.stp_B END
我们想以此作为LoginA并与DatabaseA上的UserA一起使用。 我们在DatabaseB上也有带UserB的LoginB。
我们怎样才能做到这一点?
目前,我们收到此错误消息
The server principal "..." is not able to access the database "DatabaseB" under the current security context.
我们已经尝试过用WITH EXECUTE AS 'UserB'
运气不好。
有趣的问题。 你这书呆子me了我。 我测试了很多不同的场景。
这些失败:
我可以使触发器起作用的唯一方法是在DatabaseB中为LoginA创建一个用户,并授予执行DatabaseB存储过程的权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.