【发布时间】:2011-04-19 18:23:17
【问题描述】:
我们希望在一个数据库 (A) 上运行一个触发器,该触发器调用另一个数据库 (B) 上的存储过程。
在 TableA 上创建触发器 trg_A 插入 作为 开始 执行数据库B.dbo.stp_B 结束我们希望在 DatabaseA 上使用 LoginA 和 UserA 来执行此操作。我们在 DatabaseB 上也有带有 UserB 的 LoginB。
我们怎样才能做到这一点?
目前我们收到此错误消息
服务器主体“...”无法访问 当前安全上下文下的数据库“DatabaseB”。
我们尝试了WITH EXECUTE AS 'UserB',但没有成功。
【问题讨论】:
-
请用您正在使用的数据库产品标记它。
-
任何你不能在 DatabaseB 上授予 LoginA 权限的原因 - 仅限于那个
标签: sql sql-server sql-server-2008 triggers cross-database