适用范围:SQL Server
删除运行 SQL Server 的本地服务器上的登录名与链接服务器上的登录名之间的现有映射。
语法
sp_droplinkedsrvlogin
[ @rmtsrvname = ] N'rmtsrvname'
, [ @locallogin = ] N'locallogin'
[ ; ]
参数
[ @rmtsrvname = ] N'rmtsrvname'
SQL Server 登录映射应用于的链接服务器的名称。 @rmtsrvname为 sysname,无默认值。
[ @locallogin = ] N'locallogin'
本地服务器上的 SQL Server 登录名,该登录名映射到链接服务器 @rmtsrvname。 @locallogin 为 sysname,无默认值。 @locallogin到@rmtsrvname的映射必须已存在。 如果 NULL创建的默认映射 sp_addlinkedserver,则会删除本地服务器上的所有登录名映射到链接服务器上的登录名。
返回代码值
0(成功)或 1(失败)。
注解
删除登录名的现有映射时,本地服务器使用代表该登录名连接到链接服务器时创建 sp_addlinkedserver 的默认映射。 若要更改默认映射,请使用 sp_addlinkedsrvlogin。
如果同时删除了默认映射,则只有显式为链接服务器的登录映射提供登录映射的登录名才能访问 sp_addlinkedsrvlogin链接服务器。
sp_droplinkedsrvlogin 不能从用户定义的事务中执行。
权限
要求具有对服务器的 ALTER ANY LOGIN 权限。
示例
A. 删除现有用户的登录映射
以下示例删除从本地服务器到链接服务器 Mary 的登录 Accounts 的映射。 因此,登录 Mary 使用默认登录映射。
EXECUTE sp_droplinkedsrvlogin 'Accounts', 'Mary';
B. 删除默认登录映射
以下示例删除最初通过在链接服务器 sp_addlinkedserver 上执行 Accounts 而创建的默认登录映射。
EXECUTE sp_droplinkedsrvlogin 'Accounts', NULL;