Управление таймаутами в службах Reporting Services 2005 - PullRequest
2 голосов
/ 07 декабря 2009

Есть проблемы. У меня есть отчет, который выполняется долгое время. По истечении одного часа появляется сообщение «Страница не может быть отображена». Я думаю, что-то с настройками тайм-аута.

Эти настройки были увеличены:

C: \ Program Files \ Microsoft SQL Server \ MSSQL.2 \ ReportingServices \ ReportManager \ Web.config C: \ Program Files \ Microsoft SQL Server \ MSSQL.2 \ Службы отчетов \ ReportServer \ Web.config

18000 " />

C: \ Program Files \ Microsoft SQL Server \ MSSQL.2 \ Службы отчетов \ ReportServer \ rsreportserver.config

18000 " />

18000 " />

Также:

Диспетчер отчетов-> Настройки сайта-> Тайм-аут выполнения отчета-> выберите « не делать тайм-аут выполнения отчета ».

Изменения не решили мою проблему.

Может быть, там что-то. в конфигурации IIS? Существуют ли другие параметры тайм-аута, которые я должен увеличить?

Надеюсь на вашу помощь. Спасибо.

1 Ответ

4 голосов
/ 17 августа 2010

Пара вариантов:

1) Изменить системные свойства SessionTimeout и SessionAccessTimeout.

Вот пример сценария для rs.exe, который установит эти значения для вас:

Public Sub Main()
    Dim props() as [Property]
    props = new [Property] () { new [Property](), new [Property]() }

    props(0).Name = "SessionTimeout"
    props(0).Value = timeout

    props(1).Name = "SessionAccessTimeout"
    props(1).Value = timeout

    rs.SetSystemProperties(props)
End Sub 

Вы можете запустить этот скрипт с помощью следующей команды:

rs -i sessionTimeout.rss -s http://localhost/reportserver -v timeout = "6000" Время ожидания выражается в секундах, поэтому в этом примере для SessionTimeout и SessionAccessTimeouts устанавливается значение примерно полтора часа.

(через http://blogs.msdn.com/b/jgalla/archive/2006/10/11/session-timeout-during-execution.aspx)

2) Изменение времени ожидания выполнения отчета через диспетчер отчетов Открыть диспетчер отчетов В верхней части страницы нажмите Настройки сайта. Откроется страница общих свойств сайта.

Тайм-аут выполнения отчета Укажите, будет ли время обработки отчета истекать через определенное количество секунд. (через http://msdn.microsoft.com/en-us/library/ms181194.aspx)

3) Установить время выполнения HttpRuntime

а. Откройте файл Web.config сервера ReportServer, выбрав «Пуск» -> «Администрирование» -> «Информационные службы Интернета».

б. Оттуда разверните Веб-сайты -> Веб-сайт по умолчанию и нажмите ReportServer. На правой панели щелкните правой кнопкой мыши «Web.Config» и выберите «Открыть».

с. Найдите параметр HttpRuntime. Если его не существует, вам придется создать его в разделе.

* 1 035 * d. Установите для параметра executeTimeout значение «10800» (3 часа), как показано ниже:
<system.web>
<httpRuntime executionTimeout = "10800" />
</system.web>

4) Увеличение времени ожидания скрипта на сервере отчетов

  1. Зайдите на сервер отчетов и откройте информационные службы Интернета; щелкните правой кнопкой мыши ReportServer и выберите Свойства.
  2. Перейдите на вкладку «Параметры» и установите тайм-аут сценария ASP на 300 секунд (у меня это не сработало).

5) Настройте отчет так, чтобы он никогда не прерывался на сервере

  1. Откройте веб-браузер на сервере и перейдите на http://localhost/Reports
  2. Перейдите к местоположению отчета и нажмите на отчет (ы) о проблеме.
  3. На левой панели щелкните Свойства.
  4. В «Тайм-ауте выполнения отчета» нажмите «Не выполнять отчет о тайм-ауте». (через http://geekswithblogs.net/ssrs/archive/2009/10/30/steps-to-resolve-ssrs-timeout-issues.aspx)
...