公平警告,我知道这不是最好的方法,但我正在尝试扩展一些现有代码而无需重写。
无论如何,我已经安装了两个 SQL Server 2012,一个在我的办公室本地,另一个在远程站点。远程站点的服务器为我的本地系统设置了链接服务器。
远程站点的应用程序将记录插入链接服务器上具有INSTEAD OF
触发器的表中。该触发器的末尾有一个 select 语句,它返回一个整数值。如果我在 SSMS 的本地框上插入,我会得到整数作为输出。如果我在远程盒子上插入,我得到的只是1 row(s) affected
.
无论如何我可以将触发器的输出传递回链接服务器还是我需要重写为存储过程?
以下文本基于评论中要求的澄清
所有连接都是在远程端的单个用户的安全上下文中进行的。如果我EXECUTE AS USER
在本地服务器上使用插入而不是通过链接进行插入,则输出会按预期显示,因此这不是帐户的权限问题。
服务器选项是:
Collation Compatible=False
Data Access=True
RPC=True
RPC Out=True
Use Remote Collation=True
Collation Name=(blank)
Connection Timeout=0
Query Timeout=0
Distributor=False
Publisher=False
Subscriber=False
Lazy Schema Validation=False
Enable Promotion of Distributed Transaction=True
Run Code Online (Sandbox Code Playgroud)