実行中の処理を管理する

SQL Server Reporting Services では、レポート サーバーで実行中のジョブの状態を監視します。 レポート サーバーは、一定の間隔で、実行中のジョブをスキャンし、レポート サーバー データベース (SharePoint モードの場合はサービス アプリケーション データベース) に状態情報を書き込みます。 リモートまたはローカル データベース サーバーでのクエリの実行、レポート処理、およびレポート表示のいずれかが行われている場合、ジョブは実行中です。

ユーザー ジョブシステム ジョブの両方を管理できます。

  • ユーザー ジョブは、各ユーザーまたはサブスクリプションによって開始されます。 このプロセスには次のものが含まれます。

    • オンデマンドでレポートを実行すること
    • レポート履歴スナップショットの要求
    • レポート スナップショットを手動で作成する
    • 標準のサブスクリプション処理
  • システム ジョブは、レポート サーバーによって開始されます。 システム ジョブには、スケジュールされたレポート実行スナップショット、スケジュールされたレポート履歴スナップショット、およびデータ ドリブン サブスクリプションが含まれます。

レポートの処理時間およびリソースの使用は、レポート、クエリの複雑さ、データ量、およびレポートに対して指定された表示形式により、大きく異なります。 ローカル データ ソースに対する単純なクエリを有するレポートは、通常、ミリ秒単位で完了し、管理または調整の必要はありません。 これに対して、PDF または Excel で表示される大きなレポートには、かなりの処理時間が必要な場合もあります。 時間は、ハードウェア リソース、配信オプション、および他のプロセスが同時に実行されているかどうかによって違います。 レポート サーバーでは、時間のかかる処理の多くは、レポートの表示操作処理と、クエリ処理の完了を待機している処理です。 コンピューターをオフラインにしたり、完了までに長時間かかっている実行中のジョブを停止する場合、レポート処理を取り消すことが必要になる場合があります。

キャンセルできる処理は次のとおりです。

  • オンデマンドのレポート処理。

  • スケジュールされたレポート処理。

  • 個々のユーザーが所有する標準サブスクリプション。

ジョブのキャンセルでは、レポート サーバーで実行中の処理だけが取り消されます。 レポート サーバーが、他のコンピューターで発生するデータ処理を管理しない場合があります。 そのため、他のシステムで孤立しているクエリ プロセスを手動で取り消す必要があります。 実行に長時間かかるクエリが自動的に停止するようなクエリのタイムアウト値を指定することを検討してください。 詳細については、「レポートおよび共有データセット処理のタイムアウト値の設定 (SSRS)」を参照してください。 レポートを一時的に停止する方法の詳細については、「 レポートとサブスクリプションの処理を無効化または一時停止する」を参照してください。

Note

まれに、サーバーを再起動して処理を取り消す必要が生じる場合があります。 SharePoint モードの場合、Reporting Services サービス アプリケーションをホストしているアプリケーション プールの再起動が必要になる場合があります。 詳細については、「 レポート サーバー サービスの開始と停止」を参照してください。

この記事の内容:

ジョブの表示とキャンセル (ネイティブ モード)

レポート サーバーで実行中のジョブは、SQL Server Management Studio を使用して表示したり取り消したりできます。 現在実行中のジョブの一覧を取得したり、最新のジョブ ステータスをレポート サーバー データベースから取得したりするには、ページを更新する必要があります。 Management Studio からレポート サーバーに接続する際、[ジョブ] フォルダーを開くと、現在レポート サーバー コンピューターで処理中のレポートを一覧表示できます。 [ジョブのプロパティ] ページに、各ジョブのステータス情報が表示されます。 [レポート サーバー ジョブのキャンセル] ダイアログ ボックスを開くことによって、すべてのジョブのステータス情報を確認できます。

レポート サーバーで実行中のジョブは、SQL Server Management Studio を使用して表示したり取り消したりできます。 現在実行中のジョブの一覧を取得したり、最新のジョブ ステータスをレポート サーバー データベースから取得したりするには、ページを更新する必要があります。 Management Studio からレポート サーバーに接続する際、[ジョブ] フォルダーを開くと、現在レポート サーバー コンピューターで処理中のレポートを一覧表示できます。 [ジョブのプロパティ] ページに、各ジョブのステータス情報が表示されます。 [レポート サーバー ジョブのキャンセル] ダイアログ ボックスを開くことによって、すべてのジョブのステータス情報を確認できます。

モデルの生成、モデルの処理、またはデータ ドリブン サブスクリプションについては、Management Studio で一覧表示したり取り消したりすることはできません。 モデルの生成またはモデルの処理を取り消す手段は、Reporting Services には用意されていません。 ただし、この記事で紹介している手順に従うことによって、データ ドリブン サブスクリプションをキャンセルできます。

レポート処理またはサブスクリプションを取り消す方法

  1. Management Studio でレポート サーバーに接続します。 詳細については、「 Management Studio でレポート サーバーに接続する方法」を参照してください。

  2. [ジョブ] フォルダーを開きます。

  3. レポートを右クリックし、[ジョブの取り消し] を選択します。

データ ドリブン サブスクリプションを取り消す方法

  1. テキスト エディターで RSReportServer.config ファイルを開きます。

  2. IsNotificationServiceを探します。

  3. Falseに設定します。

  4. ファイルを保存します。

  5. レポート マネージャーで、レポートの [サブスクリプション] タブまたは [個人用サブスクリプション] からデータ ドリブン サブスクリプションを削除します。

  6. サブスクリプションを削除したら、RSReportServer.config ファイルで IsNotificationService を探し、 Trueに設定します。

  7. ファイルを保存します。

ジョブの状態を取得するように頻度設定を構成する

実行中のジョブは、レポート サーバーの一時データベースに格納されます。 RSReportServer.config ファイルで構成設定を変更し、レポート サーバーによる実行中のジョブをスキャンする頻度と実行ジョブの状態を新規から実行中に変更するまでの間隔を制御できます。 RunningRequestsDbCycle 設定では、レポート サーバーによって実行中である処理のスキャンの頻度を指定します。 既定では、状態情報は 60 秒ごとに記録されます。 RunningRequestsAge 設定では、ジョブが新規から実行中に遷移するまでの間隔を指定します。

ジョブの表示とキャンセル (SharePoint モード)

SharePoint モードでの配置のジョブの管理は、Reporting Services サービス アプリケーションごとに、SharePoint サーバーの全体管理を使用して行います。

SharePoint モードでジョブを管理する

  1. SharePoint サーバーの全体管理で [サービス アプリケーションの管理] を選択します。

  2. Reporting Services サービス アプリケーションの名前を見つけて選択し、[アプリケーションの管理] ページを開きます。

  3. [ジョブの管理] を選択 する

  4. [ジョブ ID] を選択して、ジョブの詳細を表示します。

  5. または、ジョブのボックスを選択して [削除] を選択し、ジョブをキャンセルします。 ジョブを削除しても、サブスクリプションは削除されません。

プログラムによるジョブの管理

ジョブは、プログラムまたはスクリプトを使用して管理できます。 詳細については、「 ListJobs」と「 CancelJobの両方を管理できます。