sp_addremotelogin (Transact-SQL)
在本地服务器上添加新的远程登录 ID。 这样,远程服务器就能够连接并执行远程过程调用。
重要提示 |
---|
下一版本的 Microsoft SQL Server 将删除该功能。请不要在新的开发工作中使用该功能,并尽快修改当前还在使用该功能的应用程序。请改用链接服务器和链接服务器存储过程。 |
语法
sp_addremotelogin [ @remoteserver = ] 'remoteserver'
[ , [ @loginame = ] 'login' ]
[ , [ @remotename = ] 'remote_name' ]
参数
[ @remoteserver = ] 'remoteserver'
远程登录名所适用的远程服务器的名称。 remoteserver 的数据类型为 sysname,无默认值。 如果只指定 remoteserver,则 remoteserver 上的所有用户都将映射到本地服务器上同名的现有登录名。 对于本地服务器而言,远程服务器必须是已知的。 这是通过使用 sp_addserver 添加的。 当 remoteserver 上的用户连接到运行 SQL Server 的本地服务器以执行远程存储过程时,他们将以与其在 remoteserver 上的登录名匹配的本地登录名身份连接。 remoteserver 是用于启动远程过程调用的服务器。[ @loginame = ] 'login'
SQL Server 本地实例上的用户的登录 ID。 login 的数据类型为 sysname,默认值为 NULL。 login* *必须在 SQL Server 的本地实例上已存在。 如果指定 login,则 remoteserver 上的所有用户均映射到该特定本地登录。 当 remoteserver 上的用户连接到 SQL Server 的本地实例以执行远程存储过程时,他们将以 login 的身份连接。[ @remotename = ] 'remote_name'
远程服务器上的用户的登录 ID。 remote_name 的数据类型为 sysname,默认值为 NULL。 remote_name 必须存在于 remoteserver 中。 如果指定 remote_name,则特定用户 remote_name 将映射到本地服务器上的 login。 当 remoteserver 上的 remote_name 连接到 SQL Server 的本地实例以执行远程存储过程时,它们将以 login 的身份连接。 remote_name 的登录 ID 可以不同于远程服务器上的登录 ID login。
返回代码值
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.使用显式一对一映射
以下示例将来自远程服务器 ACCOUNTS 上的远程用户 Chris 的远程登录映射到本地用户 salesmgr。
EXEC sp_addremotelogin 'ACCOUNTS', 'salesmgr', 'Chris';
请参阅
参考
sp_addlinkedsrvlogin (Transact-SQL)
sp_dropremotelogin (Transact-SQL)
sp_helpremotelogin (Transact-SQL)