sql >> データベース >  >> RDS >> Sqlserver

T-SQLを使用してRPC出力を有効にする方法

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


    1. GreenDaofreemaker.jarがありません

    2. PostgreSQLで数値を通貨としてフォーマットする方法

    3. DATEFROMPARTS()SQL Server(T-SQL)の例

    4. R12.2アップグレードパート-1のステップバイステップのアップグレードプロセス