実行中の処理の管理
SQL Server Reporting Services では、レポート サーバーで実行中のジョブの状態を監視します。レポート サーバーは、一定の間隔で、実行中のジョブをスキャンし、レポート サーバー データベースに状態情報を書き込みます。リモートまたはローカル データベース サーバーでのクエリの実行、レポート処理、およびレポート表示のいずれかが行われている場合、ジョブは実行中です。
ユーザー ジョブとシステム ジョブの両方を管理できます。ユーザー ジョブは、各ユーザーまたはサブスクリプションによって開始されます。このジョブには、要求時のレポートの実行、レポート履歴スナップショットの要求、レポート スナップショットの手動作成、および標準のサブスクリプションの処理が含まれます。システム ジョブは、レポート サーバーによって開始されます。システム ジョブには、スケジュールされたレポート実行スナップショット、スケジュールされたレポート履歴スナップショット、およびデータ ドリブン サブスクリプションが含まれます。
レポートの処理時間およびリソースの使用は、レポート、クエリの複雑さ、データ量、およびレポートに対して指定された表示形式により、大きく異なります。ローカル データ ソースに対する単純なクエリを有するレポートは、通常、ミリ秒単位で完了し、管理または調整の必要はありません。これに対し、PDF または Excel で表示されるサイズの大きいレポートでは、ハードウェア リソース、配信オプション、および並行して他の処理が実行されているかどうかにより、相当な処理時間を要する場合があります。レポート サーバーでは、時間のかかる処理の多くは、レポートの表示操作処理と、クエリ処理の完了を待機している処理です。コンピューターをオフラインにしたり、完了までに長時間かかっている実行中のジョブを停止する場合、レポート処理を取り消すことが必要になる場合があります。
ジョブの表示およびキャンセル
レポート サーバーで実行中のジョブは、SQL Server Management Studio を使用して表示したり取り消したりできます。現在実行中のジョブの一覧を取得したり、最新のジョブ ステータスをレポート サーバー データベースから取得したりするには、ページを更新する必要があります。Management Studio からレポート サーバーに接続する際、[ジョブ] フォルダーを開くと、現在レポート サーバー コンピューターで処理中のレポートを一覧表示できます。[ジョブのプロパティ] ページに、各ジョブのステータス情報が表示されます。[レポート サーバー ジョブのキャンセル] ダイアログ ボックスを開くことによって、すべてのジョブのステータス情報を確認できます。
キャンセルできる処理は次のとおりです。
オンデマンドのレポート処理。
スケジュールされたレポート処理。
個々のユーザーが所有する標準サブスクリプション。
ジョブのキャンセルでは、レポート サーバーで実行中の処理だけが取り消されます。レポート サーバーは、他のコンピューター上のデータ処理を管理しないため、他のシステム上で孤立したそれ以降のクエリ処理については、手動で取り消す必要があります。実行に長時間かかるクエリが自動的にシャットダウンされるようなクエリのタイムアウト値を指定することを検討してください。詳細については、「レポートおよび共有データセット処理のタイムアウト値の設定 (SSRS)」を参照してください。レポートの一時停止の詳細については、「レポートとサブスクリプションの処理の一時停止」を参照してください。
注 |
---|
まれに、サーバーを再起動して処理を取り消す必要が生じる場合があります。詳細については、「レポート サーバー サービスの開始と停止」を参照してください。 |
モデルの生成、モデルの処理、またはデータ ドリブン サブスクリプションについては、Management Studio で一覧表示したり取り消したりすることはできません。モデルの生成またはモデルの処理を取り消す手段は、Reporting Services には用意されていません。ただし、このトピックで紹介している手順に従うことによって、データ ドリブン サブスクリプションをキャンセルできます。
レポート処理またはサブスクリプションを取り消す方法
Management Studio からレポート サーバーに接続します。手順については、「Management Studio でレポート サーバーに接続する方法」を参照してください。
[ジョブ] フォルダーを開きます。
レポートを右クリックし、[ジョブの取り消し] をクリックします。
データ ドリブン サブスクリプションを取り消す方法
テキスト エディターで RSReportServer.config ファイルを開きます。
IsNotificationService を探します。
False に設定します。
このファイルを保存します。
レポート マネージャーで、レポートの [サブスクリプション] タブまたは [個人用サブスクリプション] からデータ ドリブン サブスクリプションを削除します。
サブスクリプションを削除したら、RSReportServer.config ファイルで IsNotificationService を探し、True に設定します。
このファイルを保存します。
ジョブ ステータスの取得間隔の設定
実行中のジョブは、レポート サーバーの一時データベースに格納されます。RSReportServer.config ファイルで構成設定を変更し、レポート サーバーによる実行中のジョブをスキャンする頻度と実行ジョブの状態を新規から実行中に変更するまでの間隔を制御できます。RunningRequestsDbCycle 設定では、レポート サーバーによって実行中である処理のスキャンの頻度を指定します。既定では、状態情報は 60 秒ごとに記録されます。RunningRequestsAge 設定では、ジョブが新規から実行中に遷移するまでの間隔を指定します。