リンクサーバーで「RPC出力」オプションを有効にする必要がある場合があります。このオプションは、指定されたサーバーへのRPCを有効にします。
RPCは、リモートプロシージャコールの略です。 RPCは基本的に、サーバー1からリンクされたサーバー2にリモートで実行されるストアドプロシージャです。
これを有効にせずに、リンクサーバーでストアドプロシージャを実行しようとすると、サーバーがRPC用に構成されていないことを示すエラーメッセージ7411が表示される可能性があります。
とにかく、SQL Server Management Studio(SSMS)またはT-SQLを使用して、このオプションを有効/無効にすることができます。
SSMSでは、Linked Server Properties
に移動できます リンクサーバーの名前を右クリックします。そこから、Server Options
をクリックします 、RPC Out
が表示されます オプションをTrue
に設定 またはFalse
。
T-SQLでは、sp_serveroption
を使用できます 同じことを行うためのシステムストアドプロシージャ。
例
sp_serveroption
の使用例を次に示します。 リンクサーバーで「RPC出力」を有効にします。
EXEC sp_serveroption 'MyLinkedServer', 'rpc out', 'true';
これにより、MyLinkedServerと呼ばれるリンクサーバーのRPC出力オプションが有効になります。
この手順を実行する別の方法は、パラメーター名を明示的に指定することです。
EXEC sp_serveroption
@server = 'MyLinkedServer',
@optname = 'rpc out',
@optvalue = 'on';
したがって、最初の引数(@server
)はリンクサーバーの名前で、2番目は(@optname
)オプション名と3番目の引数(@optvalue
)を指定します )その値を指定します。
これですべてです。リンクサーバーでRPCOutが有効になりました。
RPC出力設定を確認する
次のコードでRPC出力設定を確認できます。
SELECT
is_rpc_out_enabled
FROM sys.servers
WHERE name = 'MyLinkedServer';
結果:
+----------------------+ | is_rpc_out_enabled | |----------------------| | 1 | +----------------------+
1
の値 RPCOutが有効になっていることを意味します。 0
の値 無効になっていることを意味します。
RPC出力の無効化
false
を使用できます true
の代わりに 無効にします。
EXEC sp_serveroption 'MyLinkedServer', 'rpc out', 'false';
そのコードを実行すると、MyLinkedServerでRPCOutが無効になります。
または、on
を使用することもできます およびoff
true
の代わりに およびfalse
このオプションを切り替えるには。