-- linked servers and their logins
select s.name, p.principal_id, l.remote_name
from sys.servers s
join sys.linked_logins l
on s.server_id = l.server_id
left join sys.server_principals p
on l.local_principal_id = p.principal_id
where s.is_linked = 1
go
如果您需要更多信息,请添加更多列。以下是基本 DMV:
-- list the linked servers
select *
from sys.servers
where is_linked = 1
go
-- linked server logins
select *
from sys.linked_logins
go
-- local logins
select *
from sys.server_principals
go
SELECT sp.name ,
s.name ,
ll.remote_name
FROM sys.linked_logins ll
INNER JOIN sys.server_principals sp ON ll.local_principal_id = sp.principal_id
INNER JOIN sys.servers s ON s.server_id = ll.server_id
WHERE remote_name IN ('mylogin')
此查询将为您提供所有链接服务器及其登录名的列表:
如果您需要更多信息,请添加更多列。以下是基本 DMV:
一个快速的跟踪告诉我答案:
并查询以查找更多信息:
所以我在一个多查询连接中加载它,当数据库从一个数据库移动到另一个数据库时,我可以看到哪些链接服务器需要更新。