我有三个SQL Server 2008盒子,称之为A,B& C.服务器A& B每个都有一个到服务器C的链接服务器。链接的服务器在A& A上使用完全相同的链接服务器设置。 B.两者都使用完全相同的登录信息连接到C.登录在框C上为其分配了sysadmin角色。两者都配置为RPC和RPC OUT设置为true。两者都可以执行SELECT,INSERT,UPDATE,DELETE而不会出现任何问题。 C允许远程连接并检查需要分布式事务。
当我尝试执行存储过程时出现问题。 A-> C工作正常,但是当我尝试从B运行时,我收到错误:
Msg 7201, Level 17, State 4, Line 1
Could not execute procedure on remote server 'C' because SQL Server is not configured for remote access. Ask your system administrator to reconfigure SQL Server to allow remote access.
我完全无法解决这个问题。我已检查并重新检查链接的服务器配置。它们在A& A上都是相同的。 B.我在测试后运行测试,每个人都可以从A中正常工作,但B总是给出错误。
答案 0 :(得分:0)
执行存储过程时,它将作为创建存储过程的用户的安全上下文运行,而不是正在执行存储过程的用户。它被认为是一种安全功能。
可能是用于在服务器B上创建存储过程的帐户在用于在服务器A上创建存储过程的帐户时没有正确的权限。
使用其他帐户在B上重新创建存储过程可能会解决问题。