Хранимая процедура SSRS (истек тайм-аут?). Используется слишком много связанных серверов?

#sql-server #sql-server-2005 #reporting-services #reportingservices-2005

#sql-сервер #sql-server-2005 #службы отчетов #reportingservices-2005

Вопрос:

Мы используем один общий источник данных, ds1 который подключается к серверу main_server , на котором хранятся все хранимые процедуры для генерации наших отчетов.

Одна из хранимых процедур usp1 просто выполняет другую хранимую процедуру на другом сервере another_server :

 exec another_server.another_database.dbo.usp1
  

Когда я выполняю usp1 на main_server , все работает нормально. Она выполняется почти с той же скоростью, как если бы я только что перешел на another_server и выполнил оттуда…. Именно этого я и ожидал…

Однако, когда я пытаюсь запустить отчет с нашего сервера отчетов, происходит сбой. Когда я наблюдаю за ее запуском, она почти сразу переходит в приостановленный режим и остается там.

Для всех наших таймаутов установлено значение 40 минут, так что это не должно быть нашей проблемой, поскольку отчет выполняется через 15. Есть мысли?

Спасибо…

Комментарии:

1. Один из моих коллег недавно настроил экземпляр SSRS, и у него также возникли проблемы с подключением к удаленному экземпляру SQL для создания отчетов. Я полагаю, что ответ, который он нашел, но не использовал, состоял в том, чтобы установить учетную запись выполнения в отчете.

2. Если запрос отчета выполняется в течение 15 минут на main_server, то, похоже, возвращается много строк. Возможно, это генерация HTML в SSRS занимает много времени?

Ответ №1:

Возможно, учетная запись, используемая службами reporting Services для запуска отчета, не имеет правильного доступа или прав для запуска sp на другом сервере?

Комментарии:

1. Я не думаю, что это проблема, учитывая, что для тестирования я вхожу в SQL Server Management Studio, используя те же учетные данные, что и в строке подключения источника данных, без проблем.

Ответ №2:

На связанных серверах ваша хранимая процедура может скопировать ВСЕ необходимые данные перед выполнением каких-либо объединений.

Проверьте: http://blogs.msdn.com/b/dataaccesstechnologies/archive/2010/06/30/linked-server-performance-heterogeneous-databases.aspx