sp_droplinkedsrvlogin (Transact-SQL)
删除运行 SQL Server 的本地服务器上的登录与链接服务器上的登录之间的现有映射。
语法
sp_droplinkedsrvlogin [ @rmtsrvname= ] 'rmtsrvname' ,
[ @locallogin= ] 'locallogin'
参数
[ @rmtsrvname = ] 'rmtsrvname'
应用 SQL Server 登录映射的链接服务器名称。rmtsrvname 的数据类型为 sysname,无默认值。rmtsrvname 必须已经存在。[ @locallogin = ] '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. 为现有用户删除登录映射
以下示例删除从本地服务器到链接服务器 Accounts 的登录 Mary 的映射。因此,登录 Mary 使用默认登录映射。
EXEC sp_droplinkedsrvlogin 'Accounts', 'Mary'
B. 删除默认的登录映射
以下示例删除最初通过在链接服务器 Accounts 上执行 sp_addlinkedserver 而创建的默认登录映射。
EXEC sp_droplinkedsrvlogin 'Accounts', NULL