sp_dropremotelogin (Transact-SQL)

SQL Server を実行中のローカル サーバーに対してリモート ストアド プロシージャを実行する場合に使用される、ローカル ログインにマップされているリモート ログインを削除します。

注意

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

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

構文

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

引数

  • [ @remoteserver = ] 'remoteserver'
    削除するリモート ログインにマップされているリモート サーバーの名前を指定します。remoteserver のデータ型は sysname で、既定値はありません。remoteserver は存在している必要があります。

  • [ @loginame = ] 'login'
    リモート サーバーに関連付けられているローカル サーバー上のログイン名を指定します (省略可能)。login のデータ型は sysname で、既定値は NULL です。指定する場合は、login が存在している必要があります。

  • [ @remotename = ] 'remote_name'
    リモート サーバーからログインするときに login にマップされるリモート ログインの名前を指定します (省略可能)。remote_name のデータ型は sysname で、既定値は NULL です。

戻り値

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

説明

remoteserver だけを指定した場合は、そのリモート サーバーのすべてのリモート ログインが、ローカル サーバーから削除されます。login を指定した場合は、その特定のローカル ログインにマップされている remoteserver のすべてのリモート ログインが、ローカル サーバーから削除されます。remote_name を指定した場合は、その remoteserver のリモート ユーザーに対するリモート ログインだけが、ローカル サーバーから削除されます。

ローカル サーバー ユーザーを追加するには、sp_addlogin を使用します。ローカル サーバー ユーザーを削除するには、sp_droplogin を使用します。

リモート ログインは、以前のバージョンの SQL Server を使用する場合にのみ必要です。SQL Server バージョン 7.0 以降では、代わりにリンク サーバー ログインを使用します。リンク サーバー ログインを追加または削除するには、sp_addlinkedsrvloginsp_droplinkedsrvlogin をそれぞれ使用します。

ユーザー定義のトランザクション内では、sp_dropremotelogin は実行できません。

権限

sysadmin 固定サーバー ロールまたは securityadmin 固定サーバー ロールのメンバシップが必要です。

A. リモート サーバーのすべてのリモート ログインを削除する

次の例では、リモート サーバー ACCOUNTS のエントリを削除します。この場合、ローカル サーバー上のログインとリモート サーバー上のリモート ログイン間のすべてのマッピングが削除されます。

EXEC sp_dropremotelogin 'ACCOUNTS'

B. ログインのマッピングを削除する

次の例では、リモート サーバー ACCOUNTS からのリモート ログインとローカル ログイン Albert をマップしているエントリを削除します。

EXEC sp_dropremotelogin 'ACCOUNTS', 'Albert'

C. リモート ユーザーを削除する

次の例では、ローカル ログイン salesmgr にマップされている、リモート サーバー ACCOUNTS のリモート ログイン Chris に対応するログインを削除します。

EXEC sp_dropremotelogin 'ACCOUNTS', 'salesmgr', 'Chris'