Как исправить rsUnhandledHttpApplicationError в SSRS и Power BI

Полное сообщение об ошибке: The report server encountered an unhandled exception in HttpApplication. (rsUnhandledHttpApplicationError). Ниже приведены практические шаги для диагностики и устранения ошибки.
Как исправить rsUnhandledHttpApplicationError?
1. Проверка отсутствующих сборок
Подключитесь к серверу, где установлен SQL Server Reporting Services (SSRS).
Откройте Проводник и перейдите в каталог установки SSRS, обычно:
C:\Program Files\Microsoft SQL Server\MSRSxx.MSSQLSERVER\Reporting Services\ReportServerОткройте папку
binи убедитесь, что в ней присутствуют следующие сборки:
Microsoft.ReportingServices.Authorization.dllSystem.Web.Extensions.dll
- Если какие‑то файлы отсутствуют, скопируйте их с рабочего сервера SSRS или восстановите из надёжного источника/резервной копии.
- Перезапустите службу Reporting Services: откройте Services, найдите «SQL Server Reporting Services» и выберите Restart.
Важно: отсутствие ключевых DLL часто приводит к ошибкам загрузки модулей и выбросу необработанных исключений в HttpApplication.
2. Обновление rsreportserver.config и MachineKey
Откройте Проводник и перейдите в папку конфигурации SSRS:
C:\Program Files\Microsoft SQL Server\MSRSxx.MSSQLSERVER\Reporting Services\ReportServerНайдите файл
rsreportserver.configи откройте его в редакторе (Notepad, Notepad++ или другой).Убедитесь, что в конфиге корректно задан узел MachineKey. Пример строки, которую нужно сверить/вставить:
- Сохраните файл и закройте редактор.
- Перезапустите SQL Server Reporting Services.
Примечание: MachineKey отвечает за валидацию/расшифровку данных между компонентами. Неправильные ключи могут вызывать ошибки аутентификации, шифрования и нарушать поведение приложений.
3. Включите удалённые ошибки (EnableRemoteErrors)
- Откройте SQL Server Management Studio (SSMS) и подключитесь к экземпляру Reporting Services.
- В Object Explorer щёлкните правой кнопкой по серверу SSRS и выберите Properties.
- Перейдите на вкладку Advanced.
- Найдите свойство EnableRemoteErrors и установите значение True.
- Нажмите OK и перезапустите службу SQL Server Reporting Services.
Пояснение: включение удалённых ошибок помогает получить подробный стек исключения при удалённом подключении и ускоряет диагностику.
4. Настройка таймаутов SSRS
Откройте SSMS и подключитесь к Reporting Services.
В Object Explorer правой кнопкой по серверу Reporting Services → Properties.
На вкладке Advanced найдите SystemReportTimeout.
Установите значение, например, 14400 (секунд) для длинных отчётов:

- Перейдите в раздел Reports.
- Найдите свойство SystemReportTimeout.
- Смените значение на 14400.
- Перезапустите службу Reporting Services.
Увеличение таймаута даёт отчётам больше времени на завершение и предотвращает ошибки по истечении времени выполнения.
Дополнительные приёмы и сценарии
Когда эти шаги не помогают — альтернативные подходы
- Проверьте журнал приложений Windows и лог SSRS (обычно в папке
LogFiles) на подробный стек ошибок. - Временно включите детальный режим логирования (trace) для отчётов, чтобы увидеть, на какой стадии происходит исключение.
- Проверьте права доступа к файловой системе и конфигурационным файлам: проблемы с разрешениями могут блокировать чтение DLL или конфигов.
- Если недавно устанавливали патчи/обновления .NET или SSRS — попробуйте откатить изменения в тестовой среде.
Быстрая чеклиста для ролей
Администратор сервера:
- Проверить наличие DLL в папке bin.
- Убедиться, что служба SSRS запущена от корректной учетной записи.
- Проверить права на папки ReportServer и LogFiles.
BI‑разработчик:
- Включить EnableRemoteErrors для получения стека.
- Тестировать проблемный отчёт локально в Report Builder/SSMS.
DBA:
- Проверить целостность базы ReportServer.
- Посмотреть блокировки и длительные транзакции, влияющие на выполнение отчётов.
Краткий план действий (SOP) при инциденте
- Сбор информации: скриншот ошибки, лог SSRS, время появления.
- Включить EnableRemoteErrors и воспроизвести ошибку для получения стека.
- Проверить папку bin на отсутствующие сборки.
- Проверить и обновить rsreportserver.config (MachineKey).
- Увеличить SystemReportTimeout при необходимости.
- Перезапустить службу и мониторить логи 15–30 минут.
- Если ошибка повторяется — собрать дамп процесса и обратиться к команде разработки.
Решения, которые иногда вызывают проблему (контрпримеры)
- Копирование DLL из непроверенного источника может привести к несовместимости версий и новым ошибкам.
- Случайная генерация нового MachineKey без согласования с другими узлами в кластере/веб‑ферме приведёт к ошибкам расшифровки.
Диагностическое дерево принятия решений
flowchart TD
A[Ошибка rsUnhandledHttpApplicationError] --> B{Появляется стек ошибок?}
B -- Да --> C[Включить EnableRemoteErrors и получить стек]
B -- Нет --> D[Проверить логи SSRS и Event Viewer]
C --> E{В стеке указана missing assembly?}
E -- Да --> F[Проверить /ReportServer/bin на DLL и версии]
E -- Нет --> G{Ошибка шифрования/дешифрования?}
G -- Да --> H[Проверить MachineKey в rsreportserver.config]
G -- Нет --> I[Проверить таймауты и права доступа]
I --> J[Увеличить SystemReportTimeout и проверить права]
F --> K[Скопировать/восстановить DLL и перезапустить службу]
H --> L[Синхронизировать MachineKey и перезапустить]Критерии приёмки
- Ошибка rsUnhandledHttpApplicationError больше не появляется в течение 24 часов при тех же условиях.
- Стек ошибок при воспроизведении либо отсутствует, либо указывает на другой, решаемый компонент.
- Отчёты, ранее падавшие с таймаутом, завершаются успешно или корректно логируют причину задержки.
Краткий глоссарий
- SSRS — компонент Microsoft для публикации и выполнения отчётов.
- rsreportserver.config — основной конфигурационный файл Report Server.
- MachineKey — ключи для валидации и дешифровки между компонентами ASP.NET/SSRS.
Часто задаваемые вопросы
Что делать, если я не уверен, какую сборку копировать?
Проверьте версию SSRS на рабочем сервере и копируйте сборки из той же версии. Использование DLL из другой версии может усугубить проблему.
Можно ли генерировать новый MachineKey автоматически?
Генерация нового ключа возможна, но если у вас несколько серверов в ферме — ключи должны быть одинаковыми на всех узлах.
Если нужно, оставьте вопросы в комментариях ниже — укажите версию SSRS/Power BI Server и точный текст ошибки.
Вывод
Следуйте этому плану: проверьте сборки, убедитесь в корректности rsreportserver.config и MachineKey, включите удалённые ошибки для диагностики и при необходимости увеличьте SystemReportTimeout. Эти шаги закрывают большинство причин rsUnhandledHttpApplicationError.
Похожие материалы
Chrome Remote Desktop в режиме гостя: как настроить
Полное руководство по Ecobee: настройки и советы
Word Art в Google Документах — как создать
Коллекции Microsoft Edge — руководство
Обход и сброс пароля на любой ОС