sp_addremotelogin (Transact-SQL)

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

重要说明重要提示

下一版本的 Microsoft SQL Server 将删除该功能。请不要在新的开发工作中使用该功能,并尽快修改当前还在使用该功能的应用程序。请改用链接服务器和链接服务器存储过程。

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

语法

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_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)