sql server 2005 链接服务器:未将服务器 配置为用于 RPC

原文:sql server 2005 链接服务器:未将服务器 配置为用于 RPC

 RPC: 远程过程调用(Remote Procedure Calls)

--LinkedServer.Rpc 属性:
--获取或设置 Boolean 属性值,该值指定链接服务器是否支持远程过程调用 (RPC)。
--属性值
--类型:Boolean
--一个 Boolean 值,该值指定该链接服务器是否支持 RPC。如果为 True,则可以在链接服务器上执行 RPC。 否则为 False(默认值)。 --LinkedServer.RpcOut 属性
--Boolean 属性值,该值指定链接服务器是否支持带有输出参数的远程过程调用 (RPC)。
--属性值
--类型:Boolean
--一个 Boolean 值,该值指定该链接服务器是否支持带有输出参数的 RPC。如果为 True,则可以在链接服务器上执行带有输出参数的 RPC。 否则为 False(默认值)。

sql server 2005 在执行job时,由于存储过程中使用了链接服务器,报错误信息如下:

已以用户 xxx\dbservice 的身份执行。 未将服务器 'yyy' 配置为用于 RPC。 [SQLSTATE 42000] (错误 7411). 该步骤失败。

解决:

选择链接服务器yyy属性/服务器选项,在服务器选项里有一个RPC和RPC OUT,全部选择TRUE,再次调用作业成功执行之。 RPC和RPC OUT如果选择FALSE则不能远程调用该链接服务器所指向服务器上的存储过程,但可以执行相关的数据查询和插入更新删除操作,从安全性角度出发,对于不需要执行存储过称的远程调用应该关闭其RPC和RPC OUT选项。

--关于 PRC 和 PRC out 的问题,只須兩條代碼即可搞定:

exec sp_serveroption @server='MYPROD' , @optname= 'rpc', @optvalue ='TRUE'
exec sp_serveroption @server='MYPROD' , @optname= 'rpc out', @optvalue='TRUE'
上一篇:Learning WCF Chapter1 Generating a Service and Client Proxy


下一篇:.NET 清理非托管资源