[SSRS] レポートマネージャーでレポートがサブスクリプションによって自動エクスポートされたときのログを確認する

メモ書きです。

環境

  • SQL Server : SQL Server 2008 R2

内容

ログを確認すると、エクスポートされたレポートの種類や、エクスポートにかかった時間、結果、出力サイズ、行数などが参照できます。

ログを確認するには SQL Server Reporting Services をインストールした時に作成されるデータベース「ReportServer」のテーブルを参照します。

以下の SQL を実行するとログの内容を確認できます。

use [ReportServer];
select
  B.[Path]                -- レポートのパスと名前
 ,A.[LogEntryId]
 ,A.[InstanceName]        -- レポートサーバーインスタンス名
 ,A.[ReportID]
 ,A.[UserName]            -- 実行ユーザー
 ,A.[ExecutionId]
 ,A.[RequestType]
 ,A.[Format]
 ,A.[Parameters]          -- レポートの出力に指定したパラメーター
 ,A.[ReportAction]
 ,A.[TimeStart]           -- 出力を開始した時間
 ,A.[TimeEnd]             -- 出力が完了した時間
 ,A.[TimeDataRetrieval]   -- データの取得にかかった時間 (単位はミリ秒)
 ,A.[TimeProcessing]      -- レポートの処理にかかった時間 (単位はミリ秒)
 ,A.[TimeRendering]       -- レポートの表示にかかった時間 (単位はミリ秒)
 ,A.[Source]
 ,A.[Status]              -- rsSuccess(成功) またはエラー コード
 ,A.[ByteCount]           -- レポートのファイルサイズ
 ,A.[RowCount]            -- クエリ結果の行数
from [ExecutionLogStorage] A
inner join [Catalog] B
  on B.[ItemID] = A.[ReportID]
where convert(varchar(8), A.[TimeStart], 112) = '20151104'  -- いつのデータを取得したいか、などの条件
order by A.[LogEntryId] desc;

各パラメータの詳しい情報などは以下の URL 先を参照してください。SharePoint について書かれていますが、内部では Reporting Service を使っているので大体同じです。

]]>