Udostępnij przez


Distributed kwerendy na wielu wystąpień programu SQL Server

Określanie wystąpienie SQL Server na serwerze działa kilka wystąpień SQL Server nie wymaga żadnych zmian składni Transact-SQL elementów, które są używane w kwerendach rozproszonych.Wystąpień, można określić w kwerendach rozproszonych przy użyciu jednej z następujących metod:

  • Podaj nazwa serwera za pomocą składni 'server_name\instance_name' w @ datasrc parametr sp_addlinkedserver.

  • Określ ' server =server_name\instance_name" w połączeniu ciąg.

Jeśli nie określono instancji, zapytanie rozproszone łączy się z wystąpienie domyślne SQL Server na określonym serwerze.

Poniższe przykłady pokazują, określając określone wystąpienie o nazwie Payroll na serwerze o nazwie London.(Użyj SQLNCLI i SQL Server nastąpi przekierowanie do najnowszej wersja SQL Server macierzystego klienta OLE DB Provider.)

-- 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')
    .AdventureWorks2008R2.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',
      AdventureWorks2008R2.HumanResources.Employee) AS a