2009-08-19 6 views
5

У меня есть хранимая процедура, которая работает с локальной базой данных и заполняет временную таблицу. Затем я хотел бы подключиться к удаленной базе данных и запросить его на основе значений локальных соблазнов. Это возможно?SQL-запрос через два соединения?

Спасибо.

ответ

2

Думаю, вам нужно настроить связанный сервер.

7

Да, это так. Вы можете создать связанный сервер с другим сервером, а затем выполнить связанный серверный запрос с другим сервером в той же партии. Вот как:

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) 

Подключите имя сервера, убедитесь, что ваши учетные данные работают на обоих серверах, и следовать 4 части схемы именования на последней строке.

Смежные вопросы