SQL链接服务器 - 执行SP时出现远程访问错误

时间:2016-04-04 15:49:08

标签: sql sql-server linked-server

我在SQL 2012和SQL 2008R2上的实例之间设置了一个链接服务器,但是 尝试在远程服务器上执行存储过程时,我一直收到以下错误:

 Msg 7201, Level 17, State 4, Line 1
Could not execute procedure on remote server 'TEST' because SQL Server is not configured for remote access. Ask your system administrator to reconfigure SQL Server to allow remote access.

我已检查过两台服务器,并且它们已配置为允许远程连接。我使用的登录在远程服务器上具有sysadmin访问权限,当我在链接服务器中展开“目录”时,我可以看到所有数据库。当我测试连接时,这也说它连接成功。 SQL Service帐户在两个实例上也都有SA值得

奇怪的是,当我在数据库中的一个表上运行一个简单的select查询时,它显示了一个结果,但它似乎不喜欢SP。

Select * from Linkserver.database.dbo.table 

以上工作正常,但此SP不会:

EXECUTE  Linkedserver.database.[dbo].[SP] ....

任何建议都将不胜感激。

4 个答案:

答案 0 :(得分:1)

尽管是旧线程,但忘记在远程服务器上启用远程访问(并重启服务)并尝试:

EXECUTE (N'database.[dbo].[SP]') AT Linkedserver

答案 1 :(得分:1)

如果要从服务器B运行SP,则将服务器B作为服务器A中的链接服务器。

服务器A 而非B中运行以下脚本:

EXEC sp_configure 'remote access', 1; RECONFIGURE;

然后在A中重新启动SQL Service。 完成。

答案 2 :(得分:0)

如果允许远程连接,请首先检查您的服务器属性(下面的相关图片)。如果是,请使用:exec nameofyourSP 'remote access', 1 reconfigure然后重试。

enter image description here

答案 3 :(得分:0)

首次运行:

EXEC sp_configure 'remote access', '1';

RECONFIGURE;

现在需要重新启动MSSQLSERVER才能使sp_configure命令生效。

重新启动后,再次运行sp_configure并注意run_value现在为1。这就是你想要的。