sp_addremotelogin (Transact-SQL)

適用対象:SQL Server

ローカル サーバーに新しいリモート ログイン ID を追加します。 これにより、リモート サーバーはリモート プロシージャ コールに接続して実行できます。

重要

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに、リンク サーバーとリンク サーバー ストアド プロシージャを使用してください。

Transact-SQL 構文表記規則

構文

sp_addremotelogin
    [ @remoteserver = ] N'remoteserver'
    [ , [ @loginame = ] N'loginame' ]
    [ , [ @remotename = ] N'remotename' ]
[ ; ]

引数

[ @remoteserver = ] N'remoteserver'

リモート ログインが適用されるリモート サーバーの名前。 @remoteserverは sysname で、既定値はありません。 @remoteserverのみを指定した場合、@remoteserverのすべてのユーザーは、ローカル サーバー上の同じ名前の既存のログインにマップされます。 このサーバーは、ローカル サーバーが認識している必要があります。 これは、sp_addserverを使用して追加されます。 @remoteserverユーザーは、SQL Server を実行しているローカル サーバーに接続してリモート ストアド プロシージャを実行すると、@remoteserverでの独自のログインと一致するローカル ログインとして接続します。 @remoteserverは、リモート プロシージャ コールを開始するサーバーです。

[ @loginame = ] N'loginame'

SQL Server のローカル インスタンス上のユーザーのログイン ID。 @loginameは sysname で、既定値は NULL. @loginameは、SQL Server のローカル インスタンスに既に存在している必要があります。 @loginameを指定すると、@remoteserverのすべてのユーザーがその特定のローカル ログインにマップされます。 @remoteserverのユーザーが SQL Server のローカル インスタンスに接続してリモート ストアド プロシージャを実行すると、@loginameとして接続されます

[ @remotename = ] N'remotename'

リモート サーバー上のユーザーのログイン ID。 @remotenameは sysname で、既定値は NULL. @remotename@remoteserverに存在する必要があります。 @remotenameを指定すると、特定のユーザー @remotenameがローカル サーバー上の@loginameにマップされます @remoteserver@remotenameが SQL Server のローカル インスタンスに接続してリモート ストアド プロシージャを実行すると、@loginameとして接続されます。 @remotenameログイン ID は、リモート サーバーのログイン ID (@loginame) とは異なる場合があります。

リターン コードの値

0 (成功) または 1 (失敗)。

解説

分散クエリを実行するには、sp_addlinkedsrvlogin

sp_addremotelogin は、ユーザー定義トランザクション内では使用できません。

アクセス許可

sysadmin 固定サーバー ロールと securityadmin 固定サーバー ロールのメンバーのみが実行sp_addremoteloginできます。

A. 1 つを 1 つにマップする

次の例では、リモート サーバーとローカル サーバー ACCOUNTS に同じユーザー ログインがある場合に、リモート名をローカル名にマップします。

EXEC sp_addremotelogin 'ACCOUNTS';

B. 多くを 1 にマップする

次の例では、リモート サーバー ACCOUNTS のすべてのユーザーを、ローカル ID Albert にマップするエントリを作成します。

EXEC sp_addremotelogin 'ACCOUNTS', 'Albert';

C: 明示的な 1 対 1 のマッピングを使用する

次の例では、リモート サーバーACCOUNTS上のリモート ユーザーからローカル ユーザーChrisにリモート ログインをマップしますsalesmgr

EXEC sp_addremotelogin 'ACCOUNTS', 'salesmgr', 'Chris';