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';
请参阅