Запрос через связанный сервер очень медленный

У меня есть 2 сервера SQL 2005 SRV1 и SRV2. SRV2 — это связанный сервер на SRV1. Я запускаю процедуру storep с параметрами на SRV2, и она немедленно завершается. Но когда я запускаю тот же процесс через связанный сервер на SRV1, например, EXEC [SRV1].DB_TEST.dbo.p_sample_proc, это занимает около 8-10 минут. После перезапуска SRV2 проблема исчезла. Но через некоторое время возвращается. У кого-нибудь есть идеи, что это может быть?


person Sergey Olontsev    schedule 01.11.2009    source источник


Ответы (2)


Возможно, потребуется больше прав на SRV2, говорит Линчи Ши в этой статье

Используемый логин должен запускать DBCC SHOW_STATISTICS

Изменить: после комментария Андомара: что это делает?

SELECT * FROM OPENQUERY ('SRV1', 'EXEC DB_TEST.dbo.p_sample_proc')
person gbn    schedule 01.11.2009
comment
SRV1 не нужна статистика SRV2, если она вызывает хранимую процедуру? - person Andomar; 01.11.2009

В SQL Server Management Studio выберите Управление -> Монитор активности на SRV2. Это должно показать вам состояние процесса, в котором выполняется p_sample_proc. Возможно, он блокирует блокировку какого-то другого процесса.

Можно с уверенностью сказать, что сброс сервера снимает все блокировки, и, возможно, блокирующему приложению требуется некоторое время для повторного подключения к SRV2.

person Andomar    schedule 01.11.2009