sp_dropremotelogin (Transact-SQL)

適用対象: SQL サーバー

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

重要

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

Transact-SQL 構文表記規則

構文

sp_dropremotelogin
    [ @remotename = ] N'@remotename'
    [ , [ @loginame = ] N'loginame' ]
    [ , [ @remotename = ] N'remotename' ]
[ ; ]

引数

[ @remotename = ] N'@remotename'

削除するリモート ログインにマップされているリモート サーバーの名前。 @remotenamesysname で、既定値はありません。 @remotename は既に存在している必要があります。

[ @loginame = ] N'loginame'

リモート サーバーに関連付けられているローカル サーバー上の省略可能なログイン名。 @loginamesysname で、既定値は NULL です。 @loginame が既に存在している必要があります (指定されている場合)。

[ @remotename = ] N'remotename'

リモート サーバーからログインするときに @loginame にマップされるリモート ログインの省略可能な名前。 @remotenamesysname で、既定値は NULL です。

リターン コードの値

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

解説

@remotenameのみを指定すると、そのリモート サーバーのすべてのリモート ログインがローカル サーバーから削除されます。 @loginameも指定すると、その特定のローカル ログインにマップ@remotenameからのすべてのリモート ログインがローカル サーバーから削除されます。 remote_nameも指定されている場合、@remotenameからのそのリモート ユーザーのリモート ログインのみがローカル サーバーから削除されます。

ローカル サーバー ユーザーを追加するには、 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';