リンクサーバーで「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 このオプションを切り替えるには。