報表伺服器執行記錄和 ExecutionLog3 檢視
報表伺服器執行記錄包含有關在伺服器上執行,或在原生模式向外延展部署或 SharePoint 伺服器陣列中多個伺服器上執行之報表的資訊。 您可以使用報表執行記錄來了解要求報表的頻率、最常使用的輸出格式,以及每一個處理階段所花費處理時間的毫秒數。 此記錄會包含執行報表之資料集查詢所花費時間長度的資訊,以及處理資料所花費的時間。 如果您是報表伺服器管理員,可以檢閱記錄資訊、識別長時間執行工作,並且向報表作者提出有關他們能夠改善之報表區域 (資料集或處理) 的建議。
設定為 SharePoint 模式的報表伺服器也可以利用 SharePoint ULS 記錄。 如需詳細資訊,請參閱<開啟 SharePoint 追蹤記錄的 Reporting Services 事件 (ULS)>
檢視記錄資訊
報表伺服器執行會將有關報表執行的資料記錄到內部資料庫資料表中。 您可以從 SQL Server 檢視取得此資料表的資訊。
報表執行記錄會儲存在預設名為 ReportServer 的報表伺服器資料庫中。 SQL 檢視會提供執行記錄資訊。 “2” 和 “3” 檢視是在較新版本中加入,而且包含新欄位或是名稱比舊版更易記的欄位。 舊版檢視仍然保留在產品中,因此相依於這些檢視的自訂應用程式不受影響。 如果您沒有舊版檢視 (例如 ExecutionLog) 的相依性,建議您使用最新檢視 ExecutionLog3。
本主題內容:
SharePoint 模式報表伺服器的組態設定
原生模式報表伺服器的組態設定
ExecutionLog3
AdditionalInfo 欄位
ExecutionLog2
ExecutionLog
Top
SharePoint 模式報表伺服器的組態設定
您可以從 Reporting Services 服務應用程式的 [系統設定] 開啟或關閉報表執行記錄。
根據預設,記錄項目會保留 60 天。 超過此日期的項目會在每天上午 2:00 移除 。 在到期的安裝上,不論何時都只能取得 60 天的資訊。
您無法針對資料列數目或記錄的項目類型設定限制。
若要啟用執行記錄:
從 SharePoint 管理中心,按一下 [應用程式管理] 群組中的 [管理服務應用程式]。
按一下您想要設定之 Reporting Services 服務應用程式的名稱。
按一下 [系統設定]。
選取 [記錄] 區段中的 [啟用執行記錄]。
按一下 [確定]。
若要啟用詳細資訊記錄:
您必須依照先前步驟的說明啟用記錄,然後完成下列步驟:
在 Reporting Services 服務應用程式的 [系統設定] 頁面中,尋找 [使用者定義] 區段。
將 [ExecutionLogLevel] 變更為 [verbose]。 這個欄位是文字輸入欄位,而且兩個可能的值為 [verbose] 和 [normal]。
Top
原生模式報表伺服器的組態設定
您可以從 SQL Server Management Studio 的 [伺服器屬性] 頁面開啟或關閉報表執行記錄。 EnableExecutionLogging 是進階屬性。
根據預設,記錄項目會保留 60 天。 超過此日期的項目會在每天上午 2:00 移除 。 在到期的安裝上,不論何時都只能取得 60 天的資訊。
您無法針對資料列數目或記錄的項目類型設定限制。
若要啟用執行記錄:
使用系統管理權限來啟動 SQL Server Management Studio。 例如,以滑鼠右鍵按一下 Management Studio 圖示,然後按一下 [以系統管理員身分執行]。
連接到所需的報表伺服器。
以滑鼠右鍵按一下伺服器名稱,然後按一下 [屬性]。 如果 [屬性] 選項已停用,請確認您已使用系統管理權限來啟動 SQL Server Management Studio。
按一下 [記錄] 頁面。
選取 [啟用報表執行記錄]。
若要啟用詳細資訊記錄:
您必須依照先前步驟的說明啟用記錄,然後完成下列步驟:
在 [伺服器屬性] 對話方塊中,按一下 [進階] 頁面。
在 [使用者定義] 區段中,將 [ExecutionLogLevel] 變更為 [verbose]。 這個欄位是文字輸入欄位,而且兩個可能的值為 [verbose] 和 [normal]。
Top
記錄欄位 (ExecutionLog3)
這個檢視已在 XML 架構的 AdditionalInfo 資料行內加入其他效能診斷節點。 AdditionalInfo 資料行包含的 XML 結構是由 1 至多個其他資訊欄位所組成。 下面是可從 ExecutionLog3 檢視中擷取資料列的範例 Transact SQL 陳述式。 此範例會假設報表伺服器資料庫名為 ReportServer:
Use ReportServer
select * from ExecutionLog3 order by TimeStart DESC
下表描述在報表執行記錄中擷取的資料。
資料行 |
描述 |
---|---|
InstanceName |
處理要求的報表伺服器執行個體名稱。 如果您的環境具有多個報表伺服器,您可以分析 InstanceName 散發以監視並判斷網路負載平衡器是否依照預期方式在報表伺服器之間散發要求。 |
ItemPath |
儲存報表或報表項目的路徑。 |
UserName |
使用者識別碼。 |
ExecutionID |
與要求相關聯的內部識別碼。 相同使用者工作階段上的要求會共用相同的執行識別碼。 |
RequestType |
可能的值如下:
分析依 RequestType=Subscription 所篩選並且依 TimeStart 所排序的記錄資料可能會顯現訂閱使用量龐大的週期,而且您可能會想要將某些報表訂閱修改成不同的時間。 |
Format |
轉譯格式。 |
參數 |
報表執行所使用的參數值。 |
ItemAction |
可能的值如下:
|
TimeStart |
指出報表處理持續期間的開始與結束時間。 |
TimeEnd |
|
TimeDataRetrieval |
擷取資料所花費的毫秒數。 |
TimeProcessing |
處理報表所花費的毫秒數。 |
TimeRendering |
轉譯報表所花費的毫秒數。 |
來源 |
報表執行的來源。 可能的值如下:
Cache:表示快取的執行作業,例如資料集查詢不會以即時方式執行。 AdHoc:表示根據鑽研報表且動態產生的報表模型,或者在使用報表伺服器處理與轉譯的用戶端上預覽的報表產生器報表。 Session:表示已經建立之工作階段內的後續要求。 例如,初始要求是檢視頁面 1,而後續要求則是匯出到 Excel (包含目前的工作階段狀態)。 Rdce:表示報表定義自訂延伸模組。 RDCE 自訂延伸模組可以動態地自訂報表定義,然後在執行報表時將其傳遞至處理引擎。 |
狀態 |
狀態 (不是 rsSuccess 就是錯誤碼;如果發生多個錯誤,就只會記錄第一個錯誤)。 |
ByteCount |
轉譯報表的大小 (以位元組為單位)。 |
RowCount |
從查詢傳回的資料列數目。 |
AdditionalInfo |
XML 屬性包,其中包含有關執行的其他資訊。 每個資料列的內容可能都不同。 |
Top
AdditionalInfo 欄位
AdditionalInfo 欄位是一種 XML 屬性包或結構,其中包含有關執行的其他資訊。 記錄中每個資料列的內容可能都不同。
下表是標準和詳細資訊記錄中,AddtionalInfo 欄位內容的範例:
AddtionalInfo 的標準記錄範例 |
---|
|
AdditionalInfo 的詳細資訊記錄範例 |
---|
|
下表描述您將在 AdditionalInfo 欄位中看見的某些值:
屬性 |
注意 |
---|---|
ProcessingEngine |
1= SQL Server 2005,2= 新的視需要處理引擎。 如果您的大部分報表仍然顯示 1 值,可以調查重新設計報表的方式,讓它們都利用較新且更有效率的視需要處理引擎。 <ProcessingEngine>2</ProcessingEngine> |
ScalabilityTime |
在處理引擎中執行延展相關作業所花費的毫秒數。 0 值表示沒有針對延展作業花費任何額外時間,而且 0 也表示要求沒有承受記憶體不足的壓力。
|
EstimatedMemoryUsageKB |
在特定要求期間,每個元件所耗用之記憶體尖峰數量的估計值 (以 KB 為單位)。
|
DataExtension |
用於報表之資料延伸模組或資料來源的類型。 其數字為特定資料來源的出現次數。
|
ExternalImages |
在 SQL Server 2012 中加入 此值會以毫秒來表示。 此資料可用來診斷效能問題。 從外部 Web 伺服器擷取影像所需的時間可能會讓整體報表執行變慢。
|
連接 |
在 SQL Server 2012 中加入 多層結構
|
Top
記錄欄位 (ExecutionLog2)
這個檢視加入了一些新欄位並且重新命名了一些其他欄位。 下面是可從 ExecutionLog2 檢視中擷取資料列的範例 Transact SQL 陳述式。 此範例會假設報表伺服器資料庫名為 ReportServer:
Use ReportServer
select * from ExecutionLog2 order by TimeStart DESC
下表描述在報表執行記錄中擷取的資料。
資料行 |
描述 |
---|---|
InstanceName |
處理要求的報表伺服器執行個體名稱。 |
ReportPath |
報表的路徑結構。 例如,名為 ”test” 且位於報表管理員根資料夾中的報表會具有 “/test” 的 ReportPath。 名為 ”test” 且儲存在報表管理員 “samples” 資料夾中的報表會具有 “/Samples/test/” 的 ReportPath。 |
UserName |
使用者識別碼。 |
ExecutionID |
|
RequestType |
要求類型 (使用者或系統)。 |
Format |
轉譯格式。 |
參數 |
報表執行所使用的參數值。 |
ReportAction |
可能的值如下:Render、Sort、BookMarkNavigation、DocumentNavigation、GetDocumentMap、Findstring |
TimeStart |
指出報表處理持續期間的開始與結束時間。 |
TimeEnd |
|
TimeDataRetrieval |
擷取資料、處理報表和轉譯報表所花費的毫秒數。 |
TimeProcessing |
|
TimeRendering |
|
來源 |
報表執行的來源 (1= 即時、2= 快取、3= 快照集、4= 記錄)。 |
狀態 |
狀態 (不是 rsSuccess 就是錯誤碼;如果發生多個錯誤,就只會記錄第一個錯誤)。 |
ByteCount |
轉譯報表的大小 (以位元組為單位)。 |
RowCount |
從查詢傳回的資料列數目。 |
AdditionalInfo |
XML 屬性包,其中包含有關執行的其他資訊。 |
Top
記錄欄位 (ExecutionLog)
下面是可從 ExecutionLog 檢視中擷取資料列的範例 Transact SQL 陳述式。 此範例會假設報表伺服器資料庫名為 ReportServer:
Use ReportServer
select * from ExecutionLog order by TimeStart DESC
下表描述在報表執行記錄中擷取的資料。
資料行 |
描述 |
---|---|
InstanceName |
處理要求的報表伺服器執行個體名稱。 |
ReportID |
報表識別碼。 |
UserName |
使用者識別碼。 |
RequestType |
可能的值如下: True= 訂閱要求 False= 互動式要求 |
Format |
轉譯格式。 |
參數 |
報表執行所使用的參數值。 |
TimeStart |
指出報表處理持續期間的開始與結束時間。 |
TimeEnd |
|
TimeDataRetrieval |
擷取資料、處理報表和轉譯報表所花費的毫秒數。 |
TimeProcessing |
|
TimeRendering |
|
來源 |
報表執行的來源。 可能的值如下:(1= 即時、2= 快取、3= 快照集、4= 記錄、5= 特定、6= 工作階段、7= RDCE)。 |
狀態 |
可能的值如下:rsSuccess、rsProcessingAborted 或錯誤碼。 如果發生多個錯誤,只會記錄第一個錯誤。 |
ByteCount |
轉譯報表的大小 (以位元組為單位)。 |
RowCount |
從查詢傳回的資料列數目。 |
Top
請參閱
工作
開啟 SharePoint 追蹤記錄的 Reporting Services 事件 (ULS)