Share via


sp_addremotelogin (Transact-SQL)

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

重要な注意事項重要

この機能は、Microsoft SQL Server の次のバージョンで削除されます。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションはできるだけ早く修正してください。 代わりに、リンク サーバーおよびリンク サーバーのストアド プロシージャを使用してください。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

sp_addremotelogin [ @remoteserver = ] 'remoteserver' 
     [ , [ @loginame = ] 'login' ] 
     [ , [ @remotename = ] 'remote_name' ]

引数

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

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

  • [ @remotename = ] 'remote_name'
    リモート サーバーにおけるユーザーのログイン ID を指定します。 remote_name のデータ型は sysname で、既定値は NULL です。 remote_name は remoteserver 上に存在している必要があります。 remote_name を指定した場合、特定のユーザー remote_name がローカル サーバー上での login にマップされます。 remoteserver の remote_name が SQL Server のローカル インスタンスに接続して、リモート ストアド プロシージャを実行する場合は、login として接続されます。 remote_name のログイン ID は、リモート サーバー上でのログイン ID (login) と異なっていてもかまいません。

戻り値

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

説明

分散クエリを実行するには、sp_addlinkedsrvlogin を使用します。

ユーザーが定義したトランザクション内では、sp_addremotelogin は実行できません。

権限

sp_addremotelogin を実行できるのは、固定サーバー ロール sysadmin および securityadmin のメンバーだけです。

使用例

A. 一対一でマップする

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

EXEC sp_addremotelogin 'ACCOUNTS';

B. 多対一でマップする

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

EXEC sp_addremotelogin 'ACCOUNTS', 'Albert';

C. 明示的に一対一でマップする

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

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

関連項目

参照

sp_addlinkedsrvlogin (Transact-SQL)

sp_addlogin (Transact-SQL)

sp_addserver (Transact-SQL)

sp_dropremotelogin (Transact-SQL)

sp_grantlogin (Transact-SQL)

sp_helpremotelogin (Transact-SQL)

sp_helpserver (Transact-SQL)

sp_remoteoption (Transact-SQL)

sp_revokelogin (Transact-SQL)

システム ストアド プロシージャ (Transact-SQL)