2009-08-19 25 views
5

Tengo un procedimiento almacenado que se ejecuta en una base de datos local y llena una tabla temporal. Luego me gustaría conectarme a una base de datos remota y consultarla en función de los valores de los temptables locales. ¿Es eso posible?Consulta SQL a través de dos conexiones?

Gracias.

Respuesta

2

Creo que necesitaría configurar un servidor vinculado.

7

Sí, lo es. Puede crear un servidor vinculado al otro servidor y luego hacer una consulta del servidor vinculado al otro servidor dentro del mismo lote. Así es como:

USE [master] 
GO 
--Add linked server 
EXEC master.dbo.sp_addlinkedserver @server = N'ServerName', @srvproduct=N'SQL Server' 
GO 
--Add login info 
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'ServerName', @locallogin = NULL , @useself = N'True' 
GO 



--Using Linked server 
USE [UserDB] 
Create Table #Test 
(
    Test int not null 
); 

insert into #Test 
select 1 


select * 
from ServerName.DBName.dbo.Table 
where Col1 in (select Test from #Test) 

Enchufe el nombre del servidor, asegúrese de que sus credenciales de acceso funcionan en ambos servidores, y siga el esquema de nombres de 4 partes en la última línea.

Cuestiones relacionadas