Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как выполняется запрос к данным на linked server'e?  [new]
Pilot
Member

Откуда: Краснодар
Сообщений: 280
Дано:
1) сервер_1 с MSSQL 2005
2) к серверу_1 прилинкован еще один MSSQL 2005 (linked server. сервер_2).

Вопрос:
Если я на сервере_1 исполняю:
select * from [server_2].mydb.dbo.sometable where id=1234

то как происходит обработка запроса? Тянутся все данные с сервера_2 и уже на сервере_1 выбираются строки с id=1234? Или же это все происходит на сервере_2?

И второе (тоже выполняем на сервер_1):
select t1.*, t2.* from table1 as t1, [server_2].mydb.dbo.sometable as t2 where t2.id=1234 and t1.foreign_key_id=t2.id
Т.е. джойним таблицу с базы на сервер_1 с таблицей на сервер_2.
Интересует тот же вопрос - как выполняется запрос?
20 май 11, 16:56    [10686009]     Ответить | Цитировать Сообщить модератору
 Re: Как выполняется запрос к данным на linked server'e?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Запустите профайлер и посмотрите, что приходит в итоге на второй сервер.
20 май 11, 16:57    [10686018]     Ответить | Цитировать Сообщить модератору
 Re: Как выполняется запрос к данным на linked server'e?  [new]
Wizard2007
Member

Откуда:
Сообщений: 316
Гавриленко Сергей Алексеевич,

Подскажите, как написать запрос на вставку , бновление и выборку, что бы не приписывать имя сервера жестко в процедуре, а задавать его по умолчанию для пользователя SQL под которым работает линкед сервер. потому что формировать строку, а потом выполнять ее через exec не очень хочется.
6 июн 11, 09:01    [10767138]     Ответить | Цитировать Сообщить модератору
 Re: Как выполняется запрос к данным на linked server'e?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Wizard2007
Гавриленко Сергей Алексеевич,

Подскажите, как написать запрос на вставку , бновление и выборку, что бы не приписывать имя сервера жестко в процедуре, а задавать его по умолчанию для пользователя SQL под которым работает линкед сервер. потому что формировать строку, а потом выполнять ее через exec не очень хочется.
Нет такого функционала, только динамикой.
6 июн 11, 10:08    [10767499]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить