Consultas distribuídas em várias instâncias do SQL Server
A especificação de uma instância do SQL Server em um servidor que executa várias instâncias do SQL Server não requer nenhum alteração de sintaxe para os elementos Transact-SQL usados em consultas distribuídas. Instâncias podem ser especificadas em consultas distribuídas usando um dos seguintes métodos:
Especifique um nome de servidor usando a sintaxe 'server_name\instance_name' no parâmetro @datasrc de sp_addlinkedserver.
Especifique 'server=server_name\instance_name' em uma cadeia de conexão.
Se uma instância não for especificada, a consulta distribuída conectar-se-á com a instância padrão do SQL Server no servidor especificado.
Os exemplos a seguir mostram a especificação de uma instância específica nomeada Payroll em um servidor nomeado London. (Use SQLNCLI e o SQL Server redirecionará para a última versão do provedor OLE DB do SQL Server Native Client.)
-- 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
Consulte também