在 SQL Server 2012 中,跨服务器查询可以通过链接服务器来实现。以下是执行跨服务器查询的步骤:
创建链接服务器:
首先,你需要在 SQL Server 2012 上创建一个链接服务器对象。可以使用系统存储过程 sp_addlinkedserver 来完成这一操作。以下是创建链接服务器的示例语法:
?
EXEC sp_addlinkedserver?
? ? @server = 'LinkToServer2',?
? ? @provider = 'SQLNCLI',?
? ? @datasrc = 'Server2Name',?
? ? @catalog = 'DatabaseName';
在上面的示例中,LinkToServer2 是链接服务器的名称,Server2Name 是目标服务器的名称,DatabaseName 是目标服务器上的数据库名称。
创建链接服务器登录:
为了从 SQL Server 2012 连接到目标服务器,你需要为链接服务器创建一个登录。可以使用系统存储过程 sp_addlinkedsrvlogin 来完成这一操作。以下是创建链接服务器登录的示例语法:
?
EXEC sp_addlinkedsrvlogin?
? ? @rmtsrvname = 'LinkToServer2',?
? ? @useself = 'FALSE',?
? ? @locallogin = NULL,?
? ? @rmtuser = 'TargetServerUsername',?
? ? @rmtpassword = 'TargetServerPassword';
在上面的示例中,LinkToServer2 是链接服务器的名称,TargetServerUsername 和 TargetServerPassword 是目标服务器的用户名和密码。
执行跨服务器查询:
一旦链接服务器和登录设置完成,你就可以执行跨服务器查询了。以下是执行跨服务器查询的示例语法:
SELECT *?
FROM LinkToServer2.DatabaseName.dbo.TableName;
在上面的查询中,LinkToServer2 是链接服务器的名称,DatabaseName 是目标数据库的名称,TableName 是目标表名。
请注意,执行跨服务器查询需要适当的权限和配置。确保目标服务器上的数据库和表存在,并且具有适当的访问权限。此外,你可能还需要调整 SQL Server 的防火墙设置以允许跨服务器的连接。