Query distribuite in più istanze di SQL Server
La specifica di un'istanza di SQL Server 2005 in un server che esegue più istanze di SQL Server 2005 non richiede modifiche alla sintassi degli elementi Transact-SQL utilizzati nelle query distribuite. Per specificare istanze nelle query distribuite, è possibile procedere in uno dei modi seguenti:
- Specificare un nome di server utilizzando la sintassi 'server_name\instance_name' nel parametro @datasrc di sp_addlinkedserver.
- Specificare 'server=server_name\instance_name' in una stringa di connessione.
Se non viene specificata un'istanza, la query distribuita si connette all'istanza predefinita di SQL Server 2005 nel server specificato.
Negli esempi seguenti viene specificata un'istanza denominata Payroll
nel server London
.
-- 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
Vedere anche
Concetti
Query distribuite
Provider OLE DB SQL Native Client
Altre risorse
sp_addlinkedserver (Transact-SQL)