添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

运行触发器,调用另一个数据库的存储过程

2 人关注

我们想在一个数据库(A)上运行一个触发器,调用另一个数据库(B)上的一个存储过程。

在表A上创建TRIGGER trg_A
    执行DatabaseB.dbo.stp_B

我们想在数据库A上以LoginA和UserA的方式来做这件事。我们也有LoginB和数据库B上的用户B。

我们如何才能实现这一目标?

目前,我们得到这个错误信息

服务器负责人"...... "在当前安全环境下无法访问 
数据库 "DatabaseB",在当前的安全环境下。

我们已经尝试了WITH EXECUTE AS 'UserB',但没有成功。

2 个评论
请用你所使用的数据库产品进行标记。
Bill
你不能在数据库B上授予LoginA权利的任何原因--仅限于该数据库
sql
sql-server
sql-server-2008
triggers
cross-database
Ole Lynge
Ole Lynge
发布于 2010-10-01
1 个回答
Bill
Bill
发布于 2010-10-02
已采纳
0 人赞同

有趣的问题。你把我当书呆子了。我测试了一堆不同的情况。

这些都失败了。

  • 表A上的触发器引用数据库B中的存储过程。在数据库B中,LoginA不存在用户。
  •