多个 SQL Server 实例上的分布式查询

在运行多个 SQL Server 2005 实例的服务器上指定 SQL Server 2005 实例,要求分布式查询中使用的 Transact-SQL 元素没有任何语法更改。可以使用下列方法之一在分布式查询中指定实例:

  • 通过在 sp_addlinkedserver@datasrc 参数中使用 'server_name\instance_name' 语法来指定服务器名称。
  • 在连接字符串中指定 'server=server_name\instance_name'

如果未指定实例,分布式查询将连接到指定服务器上的默认 SQL Server 2005 实例。

下列示例显示了如何在名为 London 的服务器上指定名为 Payroll 的特定实例。

-- Define a linked server on an instance of SQL Server by using @datasrc.
sp_addlinkedserver
    @server = 'LondonPayroll1',
    @srvproduct = ' ',
    @provider = 'SQLNCLI',
    @datasrc = 'London\Payroll'

-- Define a linked server on an instance of SQL Server by using
-- server_name\instance_name in a provider string.
sp_addlinkedserver
    @server = 'LondonPayroll2',
    @srvproduct = ' ',
    @provider = 'SQLNCLI',
    @provstr = 'Server=London\Payroll'

-- Specify an instance of SQL Server in OPENDATASOURCE
-- by using a provider string.
SELECT *
FROM OPENDATASOURCE('SQLNCLI',
    'Data Source=London\Payroll;Integrated Security=SSPI')
    .AdventureWorks.HumanResources.Employee

-- Specify an instance of SQL Server in OPENROWSET
-- by using a provider string.
SELECT a.*
FROM OPENROWSET(
     'SQLNCLI',
     'Server=London\Payroll;Trusted_Connection=yes',
      AdventureWorks.HumanResources.Employee) AS a

请参阅

概念

分布式查询
SQL 本机客户端 OLE DB 访问接口

其他资源

sp_addlinkedserver (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助