我有两个sql server 2012[v11.0.6020]示例, Test
以及 Production
,具有相同的配置。
在这两个服务器上,我都使用这个脚本创建了一个链接服务器
EXEC sp_addlinkedserver
@server='myLinkedServer',
@srvproduct='',
@provider='SQLNCLI10',
@datasrc='ERP01',
@location='',
@provstr='',
@catalog='Northwind'
EXEC sp_addlinkedsrvlogin
@rmtsrvname = 'myLinkedServer',
@useself = 'false',
@rmtuser = 'user01',
@rmtpassword = 'user01pass'
EXEC sp_serveroption 'myLinkedServer', 'rpc out', true;
在测试服务器上,我可以运行并从下面的脚本中得到一个结果
Declare @P01_In nvarchar(10),@P01_Out nvarchar(10) ,
EXEC myLinkedServer.Northwind.dbo.MyProc01 @P01_In,@P01_Out output
select @P01_Out
但如果在生产服务器上运行相同的程序,则会出现错误:
无法在远程服务器“mylinkedserver”上执行过程“myproc01”
请注意,两台服务器中的远程访问标志都是“1”
请建议
1条答案
按热度按时间r55awzrz1#
通过为链接服务器提供程序启用“允许inprocess”选项,问题已解决。sql server management studio、opne链接服务器、打开提供程序,选择链接服务器提供程序属性,然后启用“允许inprocess”选项