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

Откуда: БОМЖ
Сообщений: 590
Здравствуйте, коллеги! Пытаюсь расследовать весьма странную вещь в работе SSRS. На одном из хостов (хорошо, что не продуктовом) есть джоб, который генерирует целую пачку разноплановых отчётов. Часть из них генерируется с использованием SSRS путём дёргания rs.exe с различными параметрами из скрипта PowerShell. И вот в один прекрасный момент без всяких видимых причин джоб стал падать с ошибкой "Session has unexpectedly closed. Exception.Message". А вот что за "Message" пришлось смотреть в логах SSRS и там я обнаружил следующее:

processing!ReportServer_0-77!d8c!08/10/2017-09:58:47:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Query execution failed for dataset 'Finance_Balance_Report'. ---> System.Data.SqlClient.SqlException: A severe error occurred on the current command. The results, if any, should be discarded.Operation cancelled by user. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) at Microsoft.ReportingServices.DataExtensions.SqlCommandWrapperExtension.ExecuteReader(CommandBehavior behavior) at Microsoft.ReportingServices.OnDemandProcessing.RuntimeDataSet.RunEmbeddedQuery(Boolean& readerExtensionsSupported, Boolean& readerFieldProperties, List`1 queryParams, Object[] paramValues) — End of inner exception stack trace ---;processing!ReportServer_0-77!d8c!08/10/2017-09:58:47:: e ERROR: An exception has occurred in data set 'Finance_Balance_Report'. Details: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Query execution failed for dataset 'Finance_Balance_Report'. ---> System.Data.SqlClient.SqlException: A severe error occurred on the current command. The results, if any, should be discarded.Operation


Но как-то из этого не видно, по крайней мере, мне, что вызвало данное исключение. Может быть будут какие-нибудь идеи?
15 авг 17, 14:50    [20725298]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
Очень лысый
Member

Откуда: БОМЖ
Сообщений: 590
Да, забыл добавить, почему блуждающая. Потому что может случаться при генерации разных отчётов. Сегодня на одном случилась, а завтра на втором, а вчерашний нормально выполнился.
15 авг 17, 14:55    [20725317]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
Очень лысый
Member

Откуда: БОМЖ
Сообщений: 590
Перечитал ещё раз текст исключения. Походу таки sql exception какой-то случается. Только почему-то если этот же отчёт запустить отдельно вручную, а не из джоба, то он прекрасно выполняется. Также непонятно, почему эта ошибка возникает то в одном, то другом отчётах. Надо будет копнуть в код отчётов.
15 авг 17, 19:31    [20726366]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7358
Очень лысый,

Обновите датасеты в отчетах. Может чета поменялось в схеме БД. хз.
15 авг 17, 19:38    [20726379]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
Operation cancelled by user
не смущает?
15 авг 17, 21:32    [20726582]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
o-o
Guest
Дедушка
Operation cancelled by user
не смущает?

не смущает.
никакой юзер ничего не прерывает.
это прерывание по таймауту
15 авг 17, 23:08    [20726768]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6035
Очень лысый,

Именно так себя ведёт SSRS при обрыве фетча датасета или при неявно возникшем таймауте.
Попросите своих сетевиков проверить прямой и обратный маршруты с сервера SSRS до сервера с СУБД.
16 авг 17, 10:17    [20727293]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
Очень лысый
Member

Откуда: БОМЖ
Сообщений: 590
Очень похоже, что что-то в кишках таки налетает на таймаут. На проблемы с сетью не похоже - всё на одном хосте. Хотя, конечно, всякое может быть. Но пока поиграюсь с настройками таймаутов в разных местах.
16 авг 17, 13:20    [20727981]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
Очень лысый
Member

Откуда: БОМЖ
Сообщений: 590
Подкрутил таймауты в процессинге отчёта и в конфиге SSRS в большую сторону. Теперь получаем при выполнении того же отчёта новую ошибку

library!ReportServer_0-1!14cc!08/17/2017-11:08:53:: i INFO: Dump on: Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException,Microsoft.ReportingServices.Modeling.InternalModelingException,Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException
library!ReportServer_0-1!14cc!08/17/2017-11:08:53:: i INFO: Do not dump on: System.Threading.ThreadAbortException,System.Web.UI.ViewStateException,System.OutOfMemoryException,System.Web.HttpException,System.IO.IOException,System.IO.FileLoadException,Microsoft.SharePoint.SPException,Microsoft.ReportingServices.WmiProvider.WMIProviderException


Выполнение хранимых процедур мы логируем, и в логе я вижу, что процедура, которая отдаёт данные для отчёта, выполнилась. Файл отчёта сгенерировался и на диске лежит, но SSRS при этом всё равно глюканул, PowerShell вывалился по ошибке от него, вернул джобу исключение о неожиданно закрытой сессии, после чего джоб стопнулся.
18 авг 17, 13:05    [20734016]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6035
Очень лысый
System.OutOfMemoryException

Очень лысый
ReportRenderingException

Намекают, что в процессе сериализации отчёта с помощью выбранного рендера, не хватило памяти для успешного завершения.
18 авг 17, 13:43    [20734137]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
Очень лысый
Member

Откуда: БОМЖ
Сообщений: 590
Возникает вопрос, какой памяти ему не хватило. Ибо свободной оперативной памяти там гигов 5 почти всё время. Если какой-то своей отконфигурированной, то где она конфигурируется?

env
Очень лысый
пропущено...

Очень лысый
пропущено...

Намекают, что в процессе сериализации отчёта с помощью выбранного рендера, не хватило памяти для успешного завершения.
18 авг 17, 17:34    [20735002]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
buser
Member

Откуда: Санкт-Петербург
Сообщений: 4537
Очень лысый, https://msdn.microsoft.com/en-us/library/ms159206(v=sql.120).aspx
18 авг 17, 17:58    [20735027]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
Озо
Guest
env,

А не задумывались, что это могут срабатывать ограничения самого рендера? Например, избыток количества для столбцов или строк при сериализации в Excel? ))
18 авг 17, 19:08    [20735137]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
Очень лысый
Member

Откуда: БОМЖ
Сообщений: 590
На самом деле я налетел на те же самые грабли, на которые уже наступал ранее.
Вот полный лог того, что случается во время падения джоба.
ppdomainmanager!DefaultDomain!26a8!08/20/2017-12:42:23:: i INFO: Appdomain:12 ReportServer_MSSQLSERVER_0-4-131477065278142481 started.
appdomainmanager!ReportServer_0-4!26a8!08/20/2017-12:42:25:: i INFO: RS authentication mode is 4; effective ASP.NET authentication mode is Windows. vdir=/ReportServer.
appdomainmanager!DefaultDomain!26a8!08/20/2017-12:42:25:: i INFO: Appdomain:12 ReportServer_MSSQLSERVER_0-4-131477065278142481 initialized (#4).
webserver!ReportServer_0-4!26a8!08/20/2017-12:42:30:: i INFO: Reporting Web Server started
library!ReportServer_0-4!26a8!08/20/2017-12:42:30:: i INFO: SQLDump flags: ReferencedMemory, AllThreads, SendToWatson
library!ReportServer_0-4!26a8!08/20/2017-12:42:30:: i INFO: MiniDump flags: DataSegs, UnloadedModules, ProcessThreadData
library!ReportServer_0-4!26a8!08/20/2017-12:42:30:: i INFO: Dump on: Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException,Microsoft.ReportingServices.Modeling.InternalModelingException,Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException
library!ReportServer_0-4!26a8!08/20/2017-12:42:30:: i INFO: Do not dump on: System.Threading.ThreadAbortException,System.Web.UI.ViewStateException,System.OutOfMemoryException,System.Web.HttpException,System.IO.IOException,System.IO.FileLoadException,Microsoft.SharePoint.SPException,Microsoft.ReportingServices.WmiProvider.WMIProviderException
library!ReportServer_0-4!26a8!08/20/2017-12:42:30:: i INFO: Minidump location: C:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER\Reporting Services\Logfiles
resourceutilities!ReportServer_0-4!26a8!08/20/2017-12:42:30:: i INFO: Reporting Services starting SKU: Standard
ui!ReportServer_0-4!26a8!08/20/2017-12:42:30:: i INFO: Registering with Software Usage Metrics Product:SQL Server 2014, Role:Microsoft SQL Server Reporting Services, RoleGuid:8cc0ac85-40f7-4886-9dab-021519800418
resourceutilities!ReportServer_0-4!26a8!08/20/2017-12:42:30:: i INFO: Maximum memory limit is 65536Mb


Т.е. исключения по тексту это не то, что случилось, а указание, в каких случаях будет выгружаться/не выгружаться дамп. А происходит то, что SSRS почему-то рестартует. Я было думал, что это такая стандартная хрень, как AppDomain recycling, которая по умолчанию случается раз в 12 часов и тоже приводит к рестарту. Но, на самом деле, она в этот день случалась не в это время (в 8:48 и 20:48, что отражено в логе). В системных EventLog на 12:42 ничего нет. Вот что за хрень?!
21 авг 17, 13:36    [20738587]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
dao
Member

Откуда: Москва
Сообщений: 771
а что у вас за шарик там проскакивает? репортинг часом не в шарике стоит?
21 авг 17, 15:11    [20739001]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
dao
Member

Откуда: Москва
Сообщений: 771
не спец по шарику, но похоже шарик не может обработать отчет репортинга. и да это скорей всего не сюда, а в отчетные системы, sql-сервер свое дело сделал - процу выполнил и результат отдал в репортинг.
21 авг 17, 15:20    [20739039]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
Очень лысый
Member

Откуда: БОМЖ
Сообщений: 590
dao
а что у вас за шарик там проскакивает? репортинг часом не в шарике стоит?
Репортинг сам по себе стоит.
21 авг 17, 15:21    [20739052]     Ответить | Цитировать Сообщить модератору
 Re: SSRS блуждающая ошибка  [new]
Очень лысый
Member

Откуда: БОМЖ
Сообщений: 590
Да, видать, надо в отчётные податься. Забыл, что есть такой раздел.
21 авг 17, 15:35    [20739122]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить