Bewerken

Delen via


sp_droplinkedsrvlogin (Transact-SQL)

Applies to: SQL Server

Removes an existing mapping between a login on the local server running SQL Server, and a login on the linked server.

Transact-SQL syntax conventions

Syntax

sp_droplinkedsrvlogin
    [ @rmtsrvname = ] N'rmtsrvname'
    , [ @locallogin = ] N'locallogin'
[ ; ]

Arguments

[ @rmtsrvname = ] N'rmtsrvname'

The name of a linked server that the SQL Server login mapping applies to. @rmtsrvname is sysname, with no default.

[ @locallogin = ] N'locallogin'

The SQL Server login on the local server that's a mapping to the linked server @rmtsrvname. @locallogin is sysname, with no default. A mapping for @locallogin to @rmtsrvname must already exist. If NULL, the default mapping created by sp_addlinkedserver, which maps all logins on the local server to logins on the linked server, is deleted.

Return code values

0 (success) or 1 (failure).

Remarks

When the existing mapping for a login is deleted, the local server uses the default mapping created by sp_addlinkedserver when it connects to the linked server on behalf of that login. To change the default mapping, use sp_addlinkedsrvlogin.

If the default mapping is also deleted, only logins that were explicitly given a login mapping to the linked server, by using sp_addlinkedsrvlogin, can access the linked server.

sp_droplinkedsrvlogin can't be executed from within a user-defined transaction.

Permissions

Requires ALTER ANY LOGIN permission on the server.

Examples

A. Remove the login mapping for an existing user

The following example removes the mapping for the login Mary from the local server to the linked server Accounts. Therefore, login Mary uses the default login mapping.

EXEC sp_droplinkedsrvlogin 'Accounts', 'Mary';

B. Remove the default login mapping

The following example removes the default login mapping originally created by executing sp_addlinkedserver on the linked server Accounts.

EXEC sp_droplinkedsrvlogin 'Accounts', NULL;