0

データ ドリブン サブスクリプションがあり、実行するたびにレポート マネージャーに "保留中" の状態が表示されます。その後、少し後にエラーが発生します

エラー: タイムアウトになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。ステートメントは終了されました。

私はここで特別なことをしているわけではありません。ユーザーを取得するための私の sproc は、2 つのレコードのみを返します (Management studio で即座に実行されます)。レポートのデータも派手なものではありません。3 つのデータ ソースから約 3 つのレコードを取得しています。パラメーターを介して渡された ID に基づいて、すべて非常に単純な選択を行っています。

このレポートを定期購読で送信するように設定すると、正常に機能します。タイムアウトになるのは、データ駆動型にしたときだけです。

私の構成のタイムアウトはデフォルト (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 GB の RAM しかないことです。それがタイムアウトの原因になっている可能性がありますか?しかし、1 人のユーザーに対してレポートを実行すると問題ないのに、2 人のユーザーに対してレポートを実行すると問題が発生するのはなぜですか?

4

2 に答える 2

1

データベース サーバーでトレースをセットアップして、データ ソース サーバーで予期しない問題が発生しているかどうかを確認できますか?

perfmon で IIS プロセスによって使用されているメモリを監視することもできますが、あなたの説明から、サーバーがこのレポートを作成できると思います。しかし、大規模な PDF を生成している可能性はありますか? SQL 2005 では、このようなことを行う際に問題が発生する可能性があります。

于 2010-12-21T21:12:39.290 に答える
0

私が見つけた解決策はここにありました。レポートを無人で実行できるように、Windows認証ユーザーを使用するようにサブスクリプションとレポートの両方のデータソースを設定しました。BIDSおよびレポートマネージャーで機能するデフォルトのデータソースは、無人のレポート実行を許可するように設定されていませんでした。

于 2010-12-21T22:05:49.930 に答える