sp_dropremotelogin (Transact-SQL)

适用于SQL Server

删除映射到本地登录名的远程登录名,该登录名用于针对运行 SQL Server 的本地服务器执行远程存储过程。

重要

在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用链接服务器和链接服务器存储过程。

Transact-SQL 语法约定

语法

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

参数

[ @remotename = ] N'@remotename'

映射到要删除的远程登录名的远程服务器的名称。 @remotename为 sysname,没有默认值。 @remotename 必须已存在。

[ @loginame = ] N'loginame'

与远程服务器关联的本地服务器上的可选登录名。 @loginame为 sysname,默认值为 NULL. 如果指定,则@loginame 必须已存在。

[ @remotename = ] N'remotename'

从远程服务器登录时映射到 @loginame 的远程登录名的可选名称。 @remotename为 sysname,默认值为 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 删除远程用户

以下示例删除远程服务器 Chris 上的远程登录 ACCOUNTS。该远程服务器被映射到本地登录 salesmgr

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