sp_helplinkedsrvlogin (Transact-SQL)
提供有关某些登录映射的信息,这些登录是针对特定的链接服务器定义的,而这些链接服务器是用于分布式查询和远程存储过程的。
语法
sp_helplinkedsrvlogin [ [ @rmtsrvname = ] 'rmtsrvname' ]
[ , [ @locallogin = ] 'locallogin' ]
参数
[ @rmtsrvname = ] 'rmtsrvname'
登录映射所应用于的链接服务器的名称。rmtsrvname 的数据类型为 sysname,默认值为 NULL。如果为 NULL,则返回针对所有链接服务器定义的所有登录映射,这些链接服务器在运行 SQL Server 的本地计算机中定义。[ @locallogin = ] 'locallogin'
本地服务器上的 SQL Server 登录,它具有到链接服务器 rmtsrvname 的映射。locallogin 的数据类型为 sysname,默认值为 NULL。NULL 指定返回在 rmtsrvname 上定义的所有登录映射。如果不是 NULL,则必须已经存在 locallogin 到 rmtsrvname 的映射。locallogin 可以是 SQL Server 登录或 Windows 用户。对于 Windows 用户来说,必须以直接的方式或通过已被授权访问的 Windows 组成员身份授予其访问 SQL Server 的权限。
返回代码值
0(成功)或 1(失败)
结果集
列名 |
数据类型 |
说明 |
---|---|---|
Linked Server |
sysname |
链接服务器名称。 |
Local Login |
sysname |
本地登录,映射应用于该本地登录。 |
Is Self Mapping |
smallint |
0 = 当连接到 Linked Server 时,Local Login 映射到 Remote Login。 1 = 当连接到 Linked Server 时,Local Login 映射到同一登录和密码。 |
Remote Login |
sysname |
当 IsSelfMapping 是 0 时,映射到 LocalLogin 的 LinkedServer 上的登录名。如果 IsSelfMapping 是 1,那么 RemoteLogin 为 NULL。 |
注释
在删除登录映射之前,请使用 sp_helplinkedsrvlogin 确定所涉及的链接服务器。
权限
不检查权限。
示例
A.显示所有链接服务器的所有登录映射
以下示例显示所有链接服务器的所有登录映射,这些链接服务器在运行 SQL Server 的本地计算机上定义。
EXEC sp_helplinkedsrvlogin;
GO
下面是结果集:
Linked Server Local Login Is Self Mapping Remote Login
---------------- ------------- --------------- --------------
Accounts NULL 1 NULL
Sales NULL 1 NULL
Sales Mary 0 sa
Marketing NULL 1 NULL
(4 row(s) affected)
B.显示某个链接服务器的所有登录映射
以下示例显示 Sales 链接服务器的所有本地定义的登录映射。
EXEC sp_helplinkedsrvlogin 'Sales';
GO
下面是结果集:
Linked Server Local Login Is Self Mapping Remote Login
---------------- ------------- --------------- --------------
Sales NULL 1 NULL
Sales Mary 0 sa
(2 row(s) affected)
C.显示某个本地登录的所有登录映射
以下示例显示登录 Mary 的所有在本地定义的登录映射。
EXEC sp_helplinkedsrvlogin NULL, 'Mary';
GO
下面是结果集:
Linked Server Local Login Is Self Mapping Remote Login
---------------- ------------- --------------- --------------
Sales NULL 1 NULL
Sales Mary 0 sa
(2 row(s) affected)