sp_dropremotelogin (Transact-SQL)
SQL Server を実行中のローカル サーバーに対してリモート ストアド プロシージャを実行する場合に使用される、ローカル ログインにマップされているリモート ログインを削除します。
注 |
---|
この機能は、Microsoft SQL Server の次のバージョンで削除されます。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションはできるだけ早く修正してください。代わりに、リンク サーバーとリンク サーバー ストアド プロシージャを使用してください。 |
構文
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_addlinkedsrvlogin と sp_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'