SQL Server 链接服务器(Linked Servers)

通过 T-SQL 语句来添加、删除或修改链接服务器配置

进行跨数据库、跨实例或甚至跨数据库系统的数据集成和查询

 

SELECT * FROM sysservers

可以查出当前 SQL Server 实例上配置的所有链接服务器的列表及其相关信息

 

示例使用 Transact-SQL 创建与其他 SQL Server 实例的链接服务器

在查询编辑器中,输入以下 Transact-SQL 命令以便链接到名为 SRVR002\ACCTG 的 SQL Server 实例:

USE [master]
GO
EXEC master.dbo.sp_addlinkedserver
@server = N'SRVR002\ACCTG',
@srvproduct=N'SQL Server';
GO

 

执行以下代码,以便将链接服务器配置为使用正在使用链接服务器的登录名的域凭据

EXEC master.dbo.sp_addlinkedsrvlogin   
    @rmtsrvname = N'SRVR002\ACCTG',   
    @locallogin = NULL ,   
    @useself = N'True';  
GO

 

测试能否在 T-SQL 中连接到链接服务器

SELECT name FROM [SRVR002\ACCTG].master.sys.databases;
GO

 

执行以下代码,以便返回本地服务器上所有登录名的列表及其在链接服务器上的匹配登录名

如果为链接服务器登录名返回了 NULL,则表示链接服务器上没有该登录名

SELECT local.name AS LocalLogins, linked.name AS LinkedLogins  
FROM master.sys.server_principals AS local  
LEFT JOIN [SRVR002\ACCTG].master.sys.server_principals AS linked  
     ON local.name = linked.name;  
GO