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

权限

要求具备 sysadminsecurityadmin 固定服务器角色的成员身份。

示例

A. 删除远程服务器的所有远程登录

以下示例删除远程服务器 ACCOUNTS 的条目,因此将删除本地服务器中的登录和远程服务器中远程登录之间的所有映射。

EXEC sp_dropremotelogin 'ACCOUNTS'

B. 删除登录映射

以下示例删除一个映射的条目,该条目将来自远程服务器 ACCOUNTS 的远程登录映射到本地登录 Albert。

EXEC sp_dropremotelogin 'ACCOUNTS', 'Albert'

C. 删除远程用户

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

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