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

Откуда:
Сообщений: 29
Добрый день!

Возникла проблема. Простой запрос из linked server выполняется несколько минут, в то время, как на прямую - 2-3 сек.

Как делал:
1) Подключаюсь к серверу, где настроен линк, запускаю:
Select *
from [Server].DBase.dbo.Table
выполняется 2 минуты (62.000 записей в таблице)

2) Подключаюсь напрямую к серверу Server и запускаю запрос:
Select *
from dbo.Table
выполняется 2-3 сек (те же 62.000 записей).

3) Пробую зайти на сервер по RDP, где настроен линк (думал, что проблема в сети), проделываю с него п1 и п2 - результат тот же...

В чем может быть проблема? У меня подозрение именно на linked Server... В найтройках у него:
Server type - SQL Server
Security - добавлен логин и пароль owner
Server Options - по умолчанию

Где проблема и куда копать? Ведь это уже не проблема сети или нагрузки железа...
2 ноя 11, 16:35    [11541082]     Ответить | Цитировать Сообщить модератору
 Re: Медленно работает Linked сервер  [new]
linked server
Guest
Solovejs,

запрос прям вот такой, без параметров?
2 ноя 11, 16:38    [11541114]     Ответить | Цитировать Сообщить модератору
 Re: Медленно работает Linked сервер  [new]
Solovejs
Member

Откуда:
Сообщений: 29
Ну вообще параметры есть и довольно много, в т.ч. left join. Это я для примера привел...
2 ноя 11, 16:47    [11541224]     Ответить | Цитировать Сообщить модератору
 Re: Медленно работает Linked сервер  [new]
linked server
Guest
Solovejs
Ну вообще параметры есть и довольно много, в т.ч. left join. Это я для примера привел...


смотрите план запроса при обращении ч/з linked server и при "прямом" запросе.



можете попробовать использовать sp_executesql на удаленном сервере.
2 ноя 11, 16:51    [11541287]     Ответить | Цитировать Сообщить модератору
 Re: Медленно работает Linked сервер  [new]
Solovejs
Member

Откуда:
Сообщений: 29
Походу не работает с индексами через линкованный сервер...Как можно заставить?
2 ноя 11, 17:49    [11541807]     Ответить | Цитировать Сообщить модератору
 Re: Медленно работает Linked сервер  [new]
linked server
Guest
Solovejs
Походу не работает с индексами через линкованный сервер...Как можно заставить?

1. зависит от запроса
2. sp_executesql
2 ноя 11, 21:34    [11542891]     Ответить | Цитировать Сообщить модератору
 Re: Медленно работает Linked сервер  [new]
Александр Третьяков
Member

Откуда: Украина, г. Тернополь
Сообщений: 549
попробуй через openquery....

разница в том что линкед-сервер это как часть самого сервера (типа как база данных), короче, это сам оптимизатор рулит как и что, и обычно индексы не берет :(, потому что не знает оптимизатор про какие-то индексы где-то там :), а в openquery строка запрос валит на удаленный сервер и уже удаленный оптимизатор принимает решение брать индекс или нет.

немного замутно написал, но логика понятна.
BOL.
3 ноя 11, 00:52    [11543544]     Ответить | Цитировать Сообщить модератору
 Re: Медленно работает Linked сервер  [new]
Александр Третьяков
Member

Откуда: Украина, г. Тернополь
Сообщений: 549
И добавлю, если есть left join двух серверов, то будут нюансы :), нужно так их писать чтобы была прозрачная логика работы для оптимизатора SQL. Оптимизатор тоже писали люди... и он не умеет сравнивать статистику на одном сервера, на другом, потом... короче нужно шлифовать и подгонять код.
3 ноя 11, 00:56    [11543551]     Ответить | Цитировать Сообщить модератору
 Re: Медленно работает Linked сервер  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8877
Что даст (время выполнения):

Select *
from [Server].DBase.dbo.Table WIH (NOLOCK)
и
select @@version на одном и другом серверах?

Объём передаваемых данных?

Если таблица статическая - скачайте таблицу во временную на "свой" сервер и имейте её (копию) во всех направлениях. ИМБО.
3 ноя 11, 01:20    [11543605]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить