Срок действия подписки, управляемой данными, истекает при подключении - PullRequest
0 голосов
/ 21 декабря 2010

У меня есть подписка, управляемая данными, которая при каждом запуске отображает состояние «ожидания» в диспетчере отчетов.Затем, через некоторое время, появляются ошибки с

Ошибка: истекло время ожидания.Время ожидания истекло до завершения операции или сервер не отвечает.Заявление было прекращено.

Я не делаю здесь ничего экстраординарного.Мой sproc для поиска пользователей возвращает только 2 записи (и выполняется мгновенно в Management studio).Данные для отчета тоже ничего особенного.Он извлекает около 3 записей из 3 источников данных - все очень простые операции выбора на основе идентификатора, переданного через параметры.

Когда я настраиваю этот отчет для отправки по обычной подписке, он работает нормально.Тайм-аут истекает только когда я управляю данными.

Время ожидания в моей конфигурации установлено по умолчанию (120 секунд).

Вот что говорят журналы.

ReportingServicesService!dbpolling!4!12/20/2010-14:52:03:: EventPolling processing item 3c45f091-aab6-4354-bd1e-e5a8a8103391
ReportingServicesService!dbpolling!c!12/20/2010-14:52:03:: EventPolling processing 1 more items. 1 Total items in internal queue.
ReportingServicesService!library!4!12/20/2010-14:52:03:: Schedule fc2dd7c4-ae29-4e20-a24f-e6d7ee04686d executed at 12/20/2010 2:52:03 PM.
ReportingServicesService!schedule!4!12/20/2010-14:52:03:: Creating Time based subscription notification for subscription: 8a70b89a-bcea-403a-a200-ed0b6e4bc4ab
ReportingServicesService!library!4!12/20/2010-14:52:03:: Schedule fc2dd7c4-ae29-4e20-a24f-e6d7ee04686d execution completed at 12/20/2010 2:52:03 PM.
ReportingServicesService!dbpolling!4!12/20/2010-14:52:03:: EventPolling finished processing item 3c45f091-aab6-4354-bd1e-e5a8a8103391
ReportingServicesService!dbpolling!4!12/20/2010-14:52:03:: EventPolling processing item 63c3c8af-b3e5-4822-bb17-73f5f1b9fecc
ReportingServicesService!dbpolling!c!12/20/2010-14:52:03:: EventPolling processing 1 more items. 1 Total items in internal queue.
ReportingServicesService!dbpolling!4!12/20/2010-14:52:03:: EventPolling finished processing item 63c3c8af-b3e5-4822-bb17-73f5f1b9fecc
ReportingServicesService!library!d!12/20/2010-14:52:33:: e ERROR: Error processing data driven subscription: System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
The statement has been terminated.
   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.Library.DataDrivenSubscriptionHandler.DataDrivenSubscriptionWorker(Object o)

Я попытался создать новый источник данных, используя учетную запись локального администратора (которая также является sa), и я все еще получаю тайм-аут.В этом отчете нет ничего особенного.На самом деле это просто отформатированный текст с небольшими кусочками данных.Я использую SSRS для обработки отправки электронных писем.Единственное, что меня беспокоит, это то, что на машине с SSRS имеется только 2,0 ГБ оперативной памяти.Может ли это быть причиной тайм-аута?Но тогда почему, когда я выполняю отчет для одного пользователя, это хорошо, а для 2-х пользователей он идет в kablooey?

Ответы [ 2 ]

1 голос
/ 22 декабря 2010

Можете ли вы настроить трассировку на серверах баз данных, чтобы увидеть, не происходит ли что-то неожиданное на серверах источников данных?

Вы также можете отслеживать объем памяти, используемойПроцесс IIS в perfmon, но из того, что вы описываете, я думаю, ваш сервер мог бы сделать этот отчет.НО, может быть, вы создаете массивный PDF?В SQL 2005 могут возникнуть проблемы с такими вещами.

0 голосов
/ 22 декабря 2010

Решение, которое я нашел, было здесь .Я настроил источник данных для подписки и отчета на использование аутентифицированного пользователя Windows, чтобы отчет можно было запускать без присмотра.Источник данных по умолчанию, который работал в BIDS и в диспетчере отчетов, не был настроен для автоматического запуска отчетов.

...