共用方式為


多重 SQL Server 執行個體上的分散式查詢

在執行多個 SQL Server 執行個體的伺服器上指定一個 SQL Server 執行個體時,並不需要變更分散式查詢中所使用之 Transact-SQL 元素的語法。您可以使用下列其中一種方法在分散式查詢內指定執行個體:

  • 使用 sp_addlinkedserver@datasrc 參數內的語法 'server_name\instance_name',來指定伺服器名稱。

  • 在連接字串中指定 'server=server_name\instance_name'

若沒有指定執行個體,分散式查詢就會連接到所指定伺服器上的預設 SQL Server 執行個體。

下列範例示範在名稱為 London 的伺服器上,指定名稱為 Payroll 的特定執行個體。(使用 SQLNCLI 和 SQL Server 將會導向 SQL Server Native Client OLE DB 提供者的最新版)。

-- 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