sp_addremotelogin (Transact-SQL)

适用于:SQL Server (所有受支持的版本)

在本地服务器上添加新的远程登录 ID。 这样,远程服务器就能够连接并执行远程过程调用。

重要

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

主题链接图标Transact-SQL 语法约定

语法

  
sp_addremotelogin [ @remoteserver = ] 'remoteserver'   
     [ , [ @loginame = ] 'login' ]   
     [ , [ @remotename = ] 'remote_name' ]  

参数

[ ] @remoteserver='remoteserver'
远程登录所应用于的远程服务器的名称。 remoteserversysname,无默认值。 如果仅指定了 remoteserver,则 remoteserver 上的所有用户将映射到本地服务器上同名的现有登录名。 对于本地服务器而言,远程服务器必须是已知的。 可以使用 sp_addserver 来添加。 当远程服务器上的用户连接到运行SQL Server的本地服务器以执行远程存储过程时,它们将作为与远程服务器上自己的登录名匹配的本地登录名进行连接。 remoteserver 是启动远程过程调用的服务器。

[ ] @loginame='login'
SQL Server本地实例上的用户的登录 ID。 login 的数据类型为 sysname,默认值为 NULL。 登录名必须已存在于SQL Server的本地实例上。 如果指定 了登录名远程服务器 中的所有用户将映射到该特定本地登录名。 当远程服务器上的用户连接到SQL Server的本地实例以执行远程存储过程时,它们将作为登录名进行连接。

[ @remotename= ] remote_name
远程服务器上的用户的登录 ID。 remote_namesysname,默认值为 NULL。 remote_name 必须存在于 remoteserver 上。 如果指定 了remote_name ,则特定用户 remote_name 映射到本地服务器上的 登录 名。 当远程服务器上的remote_name连接到SQL Server的本地实例以执行远程存储过程时,它将作为登录名进行连接。 remote_name的登录 ID 与远程服务器上的登录 ID 不同,登录名。

返回代码值

0(成功)或 1(失败)

备注

若要执行分布式查询,请使用 sp_addlinkedsrvlogin。

不能在用户定义的事务中使用 sp_addremotelogin。

权限

只有 sysadmin 和 securityadmin 固定服务器角色的成员才能执行 sp_addremotelogin。

示例

A. 一对一映射

以下示例在远程服务器 ACCOUNTS 和本地服务器具有相同的用户登录名时将远程名称映射到本地名称。

EXEC sp_addremotelogin 'ACCOUNTS';  

B. 多对一映射

以下示例创建一个条目,该条目将来自远程服务器 ACCOUNTS 的所有用户都映射到本地登录 ID Albert

EXEC sp_addremotelogin 'ACCOUNTS', 'Albert';  

C. 使用显式一对一映射

以下示例将来自远程服务器 Chris 上的远程用户 ACCOUNTS 的远程登录映射到本地用户 salesmgr

EXEC sp_addremotelogin 'ACCOUNTS', 'salesmgr', 'Chris';  

另请参阅

sp_addlinkedsrvlogin (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_addserver (Transact-SQL)
sp_dropremotelogin (Transact-SQL)
sp_grantlogin (Transact-SQL)
sp_helpremotelogin (Transact-SQL)
sp_helpserver (Transact-SQL)
sp_remoteoption (Transact-SQL)
sp_revokelogin (Transact-SQL)
系统存储过程 (Transact-SQL)