監控資料庫事件對應
本主題包含監控資料庫中臨時資料表的欄位與 Windows Workflow Foundation (WF) 執行階段產生的每個事件類型的事件檢視之間的對應。設定非 SQL 監控資料庫以搭配 Microsoft AppFabric 1.1 for Windows Server 使用時需要此資訊。使用 SQL Server 時,由 AppFabric 設定程序建立所有檢視與臨時資料表。但在非 SQL 資料庫實作中,您需要手動建立這些檢視與臨時資料表。在 AppFabric 管理的 WCF 或 WF 服務中發生事件時,「事件收集」服務 寫入對應該事件的資料列到監控資料庫的 ASStagingTable 資料表中。該資料需要對應到對應的檢視中,才能使用 AppFabric 儀表格顯示。這種對應發生在您選擇將臨時資料表的資料取入支援監控檢視的任何資料表的任何機制時。例如,您可以使用資料庫觸發或工作。
本文件僅包含一些事件與檢視對應。關於整組的事件及其關聯對應,請下載 AppFabric 資料庫事件對應。如需有關此對應程序的詳細資訊,請參閱作法:使用非 SQL Server 監控資料庫與監控資料庫檢視與資料表。
所有事件通用的對應
ASStagingTable 資料表
每個事件將填入 ASStagingTable 資料表中的下列欄位。
ASStagingTable 資料行 | 事件資料 |
---|---|
EventTypeId |
產生之事件的識別碼 |
E2EActivityId |
隨此事件產生的端對端活動識別碼 |
Computer |
產生事件的電腦名稱 |
EventSource |
此事件的虛擬路徑 |
ProcessId |
處理程序識別碼 |
TraceLevelId |
產生之事件的追蹤等級 |
TimeCreated |
此事件的建立時間 |
ASEventSources 檢視
幾乎所有事件都會填入 ASEventSources 檢視 (事件識別碼 499 例外)。
資料行名稱 | 資料來源 |
---|---|
ID |
事件來源的識別碼。供其他檢視用來取得事件來源詳細資訊。 |
Name |
從 ASStagingTable 的 EventSource 資料行中擷取的服務名稱 |
Computer |
對應至 ASStagingTable 中的 Computer |
Site |
從 ASStagingTable 的 EventSource 資料行中擷取的網站名稱 |
VirtualPath |
從 ASStagingTable 的 EventSource 資料行中擷取的完整虛擬路徑名稱 |
ApplicationVirtualPath |
從 ASStagingTable 的 EventSource 資料行中擷取的應用程式虛擬路徑名稱 |
ServiceVirtualPath |
從 ASStagingTable 的 EventSource 資料行中擷取的服務虛擬路徑名稱 |
ASEvents 檢視
幾乎所有事件都會填入 ASEvents 檢視 (事件識別碼 499 例外)。
資料行名稱 | 資料來源 |
---|---|
EventTypeId |
EventTypeId 對應至 ASStagingTable.EventTypeId |
EventName |
事件的名稱 |
EventVersion |
事件的版本。目前為 0。 |
EventSourceID |
對應至 ASEventSources 檢視中的事件來源識別碼 |
ProcessId |
對應至 ASStagingTable.ProcessId |
TraceLevelId |
對應至 ASStagingTable.TraceLevelID |
TraceLevel |
TraceLevelId 的字串表示法 |
E2EActivityId |
對應至 ASStagingTable.E2EActivityId |
TimeCreated |
對應至 ASStagingTable.TimeCreated |
事件
以下是實作監控資料庫的部分事件對應。
事件識別碼 100
除了常用資料行之外,「事件收集」服務還會針對「事件識別碼 100」填入 ASStagingTable 資料表的下列資料行。
事件資料 | ASStagingTable 資料行 |
---|---|
TypeName |
Data1UniqueId |
RecordNumber |
Data1BigInt |
ActivityRootId |
Data3Str |
狀態 |
Data2Str |
追蹤設定檔名稱 |
Data1Str |
註釋 |
CustomAnnotations |
來自事件 100 的資料會填入下列檢視:ASEventSources、ASWfEvents、ASEvents、ASWfTrackingProfiles、ASWfEventAnnotations。從 ASStagingTable 到通用檢視 ASEventSources 與 ASEvents 的資料對應關係是在通用對應中指定。
檢視:ASWfEventAnnotations
此檢視會以從 WF 追蹤事件 (從 WF 服務產生) 產生的註釋更新。
資料行名稱 | 填入的資料 |
---|---|
Id |
此事件資料列的唯一識別碼 |
AnnotationSetId |
用於尋找產生註釋之 WF 事件的索引鍵 |
Name |
從 ASStagingTable.CustomAnnotations 取得之註釋的名稱 |
Value |
從 ASStagingTable.CustomAnnotations 取得之註釋的值 |
從 ASStagingTable.CustomAnnotations 擷取 Annotations Name 與 Value
註釋儲存如下。註釋是隨著此事件而產生。註釋的值會以此格式儲存。
< items >
< item name = "annotationName" type="System.String">annotationValue</item>
</items >
如果未指定註釋,字串會包含 </items>。name
與 value
是透過剖析 ASStagingTable.CustomAnnotations 資料行中儲存的值所擷取。
檢視 ASWfTrackingProfiles
資料行名稱 | 填入的資料 |
---|---|
Id |
追蹤設定檔的唯一識別碼 |
Name |
對應至 ASStagingTable-> 資料行 ASStagingTable.Data1Str |
檢視 ASWfEvents
只有在此檢視中針對此事件填入的資料行會被指定。所有其他資料行都具有 NULL 值。此事件填入的特定值以粗體表示。此檢視是在針對 WF 執行個體產生的追蹤事件上所建立。
資料行名稱 | 填入的資料 |
---|---|
Id |
產生的唯一識別碼 |
EventTypeId |
100 (對應至:ASStagingTable-> 資料行 EventTypeId) |
EventType |
“WorkflowInstanceRecord” |
EventVersion |
0 |
EventSourceId |
ASEventSources 檢視中的識別碼 |
ProcessId |
對應至 ASStagingTable-> 資料行:ASStagingTable.ProcessId |
WorkflowInstanceId |
對應至 ASStagingTable-> 資料行:ASStagingTable.Data1UniqueId |
TrackingProfileId |
對應至 ASWfTrackingProfiles 檢視中 ID 資料行之追蹤設定檔的唯一識別碼。這與 ASWfTrackingProfiles 都會在單一交易中更新。 |
E2EActivityId |
對應至 ASStagingTable-> 資料行:ASStagingTable.E2EActivityId |
TraceLevelId |
對應至 ASStagingTable-> 資料行:ASStagingTable.TraceLevelId |
TraceLevel |
視 TraceLevelId 而定:0:”LogAlways”1:”嚴重”2:”錯誤”3:”警告”4:”資訊”5:”詳細資訊” |
RecordNumber |
對應至 ASStagingTable-> 資料行:ASStagingTable.Data1BigInt |
AnnotationSetId |
對應至 ASWfEventAnnotations 檢視中 AnnotationSetId 資料行之「註釋集」的唯一識別碼。這與 ASWfEventAnnotations 都會在單一交易中更新。 |
TimeCreated |
對應至 ASStagingTable-> 資料行:ASStagingTable.TimeCreated |
ActivityRootId |
對應至 ASStagingTable-> 資料行:ASStagingTable.Data3Str |
State |
對應至 ASStagingTable-> 資料行:ASStagingTable.Data2Str |
檢視:ASWfInstances
此檢視會以作用中 WF 的執行個體狀態更新。此檢視會在 ASWfEvents 檢視之後更新 (在相同的交易中)。當事件新增至 ASWfEvents 檢視後,必須以在 ASWfEvents 檢視中插入的值同時更新此檢視,因此是在同一個交易中。每個工作流程執行個體只有一個資料列。當新增事件至 WFEvents 資料表時,就會修改工作流程執行個體的資料列。只有在特定狀況下才會在此資料表中新增/更新資料列。如果識別碼為 100 的事件狀態為「已刪除」或「已解除載入」(ASWfEvents.State),則不會在此資料表中新增資料列。
資料行名稱 | 填入的資料 |
---|---|
Id |
此項目的唯一識別碼 |
WorkflowInstanceId |
對應至 ASStagingTable-> 資料行:對於每個唯一的執行個體,只會新增一次 ASStagingTable.Data1UniqueId。 |
LastEventSourceId |
上次修改此資料列的 eventSourceID。對應至 ASWfEvents.EventSourceId。 |
LastEventStatus |
對應至 ASWfEvents 檢視-> 資料行:ASWfEvents.State。只有當狀態不是「已刪除」或「已解除載入」時才會插入/更新。如果狀態是「已刪除」或「已解除載入」,則不會在此資料表中新增資料列。 |
StartTime |
對應至 ASWfEvents-> 資料行:ASWfEvents.TimeCreated。這是此工作流程執行個體中 RecordNumber 最小之事件的 TimeCreated。 |
LastModifiedTime |
對應至 ASWfEvents-> 資料行:ASWfEvents.TimeCreated。當狀態變更時會更新。請您也注意,若要更新此資料行,WorkflowRecord 的 RecordNumber 必須大於更新此值的上一個 RecordNumber(可能的實作是維護暫存資料表,以將此資料表中的執行個體識別碼對應至修改它之「工作流程事件記錄」(來自 ASWfEvents) 的 RecordNumber。當新的事件嘗試更新此工作流程的此資料列時,檢查 RecordNumber 是否大於上次修改的 RecordNumber)。 |
CurrentDuration |
執行中工作流程的期間 (LastModifiedTime – StartTime) |
ExceptionCount |
WF 遇到的例外狀況數目。不會由事件識別碼 100 更新。 |
LastAbortedTime |
不會由事件識別碼 100 更新 |
如需有關此事件的詳細資訊,請參閱 100 - WorkflowInstanceRecord (https://go.microsoft.com/fwlink/?LinkId=187224) (可能為英文網頁)。
事件識別碼 103
除了常用資料行之外,「事件收集」服務還會針對「事件識別碼 103」填入 ASStagingTable 資料表的下列資料行。
事件資料 | ASStagingTable 資料行 |
---|---|
workflowinstanceid |
Data1UniqueId |
RecordNumber |
Data1BigInt |
追蹤設定檔名稱 |
Data1Str |
狀態 |
Data2Str |
ActivityName |
Data3Str |
ActivityId |
Data4Str |
ActivityInstanceId |
Data5Str |
ActivityTypeName |
Data6Str |
註釋 |
CustomAnnotations |
變數 |
CustomProperties |
引數 |
CustomArguments |
來自事件 103 的資料會填入下列檢視:ASEventSources、ASWfEvents、ASEvents、ASWfTrackingProfiles、ASWfEventAnnotations、ASWfEventProperties、ASWfPropertyNames。從 ASStagingTable 到通用檢視 ASEventSources 與 ASEvents 的資料對應關係是在通用對應中指定。
檢視:ASWfEventAnnotations
此檢視會以從 WF 追蹤事件 (從 WF 服務產生) 產生的註釋更新。
資料行名稱 | 填入的資料 |
---|---|
Id |
此事件資料列的唯一識別碼 |
AnnotationSetId |
用於尋找產生註釋之 WF 事件的索引鍵 |
Name |
從 ASStagingTable.CustomAnnotations 取得之註釋的名稱 |
Value |
從 ASStagingTable.CustomAnnotations 取得之註釋的值 |
從 ASStagingTable.CustomAnnotations 擷取 Annotations Name 與 Value
註釋是隨著此事件而產生。註釋的值會以下列格式儲存。如果未指定註釋,字串會包含 </items>。Name 與 Value 是透過剖析 ASStagingTable.CustomAnnotations 資料行中儲存的值所擷取。
< items >
< item name = "annotationName" type="System.String">annotationValue</item>
</items >
檢視:ASWfPropertyNames
此檢視是根據從 WF 服務擷取的追蹤屬性名稱所建立。Name 可以是變數名稱、引數名稱或 customtrackingrecord 中的名稱。
資料行名稱 | 填入的資料 |
---|---|
EventSourceId |
此事件的事件來源。這指的是 EventSources 檢視中的識別碼。 |
Name |
受追蹤屬性的名稱 |
Type |
受追蹤屬性的類型 |
從 ASStagingTable.CustomProperties 或 ASStagingTable CustomArguments 中擷取 Name 與 Type
工作流程變數儲存於 ASStagingTable.CustomProperties 中。對於事件 103,變數的格式如下。如果未指定變數,字串會包含 </items>。剖析 XML 字串以取得變數的名稱與類型。
< items >
< item name = "variableName" type="System.String">variableValue</item>
</items >
引數儲存於 ASStagingTable.CustomArguments 中。對於事件 103,引數的格式如下。剖析 XML 字串以取得引數的名稱與類型。如果未指定引數,字串會包含 </items>。
< items >
< item name = "argumentName" type="System.String">argumentValue</item>
</items >
檢視:ASWfEventProperties
在此檢視中,從 WF 事件擷取的每個變數/引數/自訂屬性各有一個資料列。
資料行名稱 | 填入的資料 |
---|---|
EventId |
對應至 ASWfEvents 檢視 -> ASWfEvents.Id 中的事件識別碼指的是產生此資料的 WF 事件。 |
Name |
透過剖析 ASStagingTable.CustomArguments 或 ASStagingTable.CustomProperties 中的 XML 所擷取的名稱 |
WfDataSource |
屬性的來源 (引數、變數或自訂資料)。如果資料是從 ASStagingTable.CustomArguments 所填入,則值為「引數」。如果資料是從 ASStagingTable.CustomProperties 所填入,則值為「變數」。 |
Type |
從 CustomProperties xml 的 CustomArguments 擷取的屬性類型 |
Value |
當類型為簡單類型時,從 CustomProperties xml 的 CustomArguments 擷取的屬性值 |
ValueBlob |
當類型是複雜類型時,從 CustomProperties xml 的 CustomArguments 擷取的屬性值 |
TimeCreated |
當對應至 ASWfEvents.TimeCreated 的此屬性產生時的時間戳記 |
檢視 ASWfTrackingProfiles
資料行名稱 | 填入的資料 |
---|---|
Id |
追蹤設定檔的唯一識別碼 |
Name |
對應至 ASStagingTable-> 資料行 ASStagingTable.Data1Str |
檢視 ASWfEvents
只有在此檢視中針對此事件填入的資料行會被指定。所有其他資料行都具有 NULL 值。此事件填入的特定值以粗體表示。此檢視是在針對 WF 執行個體產生的追蹤事件上所建立。
資料行名稱 | 填入的資料 |
---|---|
Id |
產生的唯一識別碼 |
EventTypeId |
103 (對應至:ASStagingTable-> 資料行 EventTypeId) |
EventType |
“ActivityStateRecord” |
EventVersion |
0 |
EventSourceId |
ASEventSources 檢視中的識別碼 |
ProcessId |
對應至 ASStagingTable-> 資料行:ASStagingTable.ProcessId |
WorkflowInstanceId |
對應至 ASStagingTable-> 資料行:ASStagingTable.Data1UniqueId |
TrackingProfileId |
對應至 ASWfTrackingProfiles 檢視中 ID 資料行之追蹤設定檔的唯一識別碼。這與 ASWfTrackingProfiles 都會在單一交易中更新。 |
E2EActivityId |
對應至 ASStagingTable-> 資料行:ASStagingTable.E2EActivityId |
TraceLevelId |
對應至 ASStagingTable-> 資料行:ASStagingTable.TraceLevelId |
TraceLevel |
視 TraceLevelId 而定:0:”LogAlways”1:”嚴重”2:”錯誤”3:”警告”4:”資訊”5:”詳細資訊” |
RecordNumber |
對應至 ASStagingTable-> 資料行:ASStagingTable.Data1BigInt |
AnnotationSetId |
對應至 ASWfEventAnnotations 檢視中 AnnotationSetId 資料行之「註釋集」的唯一識別碼。這與 ASWfEventAnnotations 都會在單一交易中更新。 |
TimeCreated |
對應至 ASStagingTable-> 資料行:ASStagingTable.TimeCreated |
ActivityName |
對應至 ASStagingTable-> 資料行:ASStagingTable.Data3Str |
ActivityId |
對應至 ASStagingTable-> 資料行:ASStagingTable.Data4Str |
ActivityInstanceId |
對應至 ASStagingTable-> 資料行:ASStagingTable.Data5Str |
ActivityTypeName |
對應至 ASStagingTable-> 資料行:ASStagingTable.Data6Str |
State |
對應至 ASStagingTable-> 資料行:ASStagingTable.Data2Str |
檢視:ASWfInstances
此檢視會以作用中 WF 的執行個體狀態更新。此檢視會在 ASWfEvents 檢視之後更新 (在相同的交易中)。當事件新增至 ASWfEvents 檢視後,必須以在 ASWfEvents 檢視中插入的值同時更新此檢視,因此是在同一個交易中。每個工作流程執行個體只有一個資料列。當新增事件至 WFEvents 資料表時,就會修改工作流程執行個體的資料列。
資料行名稱 | 填入的資料 |
---|---|
Id |
此項目的唯一識別碼 |
WorkflowInstanceId |
對應至 ASStagingTable-> 資料行:ASStagingTable.Data1UniqueId。對於每個唯一的執行個體,只會新增一次。 |
LastEventSourceId |
上次修改此資料列的 eventSourceID。對應至 ASWfEvents.EventSourceId。 |
LastEventStatus |
對應至 ASWfEvents 檢視-> 資料行:ASWfEvents.State。只有當狀態不是「已刪除」或「已解除載入」時才會插入/更新。如果狀態是「已刪除」或「已解除載入」,則不會新增資料列到此資料表。如果是事件 101,則值為 “UnhandledException”。 |
StartTime |
對應至 ASWfEvents-> 資料行:ASWfEvents.TimeCreated。這是此工作流程執行個體 (由 ASWfEvents.WorkflowInstanceId 表示) 中 RecordNumber 最小之事件的 TimeCreated。 |
LastModifiedTime |
對應至 ASWfEvents-> 資料行:ASWfEvents.TimeCreated。當狀態變更時會更新。請您也注意,若要更新此資料行,WorkflowRecord 的 RecordNumber 必須大於更新此值的上一個 RecordNumber(可能的實作是維護暫存資料表,以將此資料表中的執行個體識別碼對應至修改它之「工作流程事件記錄」(來自 ASWfEvents) 的 RecordNumber。當新的事件嘗試更新此工作流程的此資料列時,檢查 RecordNumber 是否大於上次修改的 RecordNumber)。 |
CurrentDuration |
執行中工作流程的期間 (LastModifiedTime – StartTime) |
ExceptionCount |
WF 遇到的例外狀況數目。此 WF 執行個體 (以執行個體識別碼 ASWfEvents 表示) 遇到的事件 101 計數。WorkflowInstanceId。 |
LastAbortedTime |
最近一次 ASWfEvents 檢視出現識別碼為 101 或 102 之事件的時間。與以 ASWfEvents.WorkflowInstanceId 表示的工作流程執行個體有關。 |
如需有關此事件的詳細資訊,請參閱 103 - ActivityStateRecord (https://go.microsoft.com/fwlink/?LinkId=187226) (可能為英文網頁)。
事件識別碼 214
除了常用資料行之外,「事件收集」服務還會針對「事件識別碼 214」填入 ASStagingTable 資料表的下列資料行。
事件資料 | ASStagingTable 資料行 |
---|---|
MethodName |
Data1Str |
期間 |
Data1Int |
來自事件 214 的資料會填入下列檢視:ASEventSources、ASWcfEvents、ASEvents。從 ASStagingTable 到通用檢視 ASEventSources 與 ASEvents 的資料對應關係是在通用對應中指定。
檢視 ASWcfEvents
只有在此檢視中針對此事件填入的資料行會被指定。所有其他資料行都具有 NULL 值。此事件填入的特定值以粗體表示。
ColumnName | 填入的資料 |
---|---|
Id |
產生的唯一識別碼 |
EventTypeId |
214 (對應至:ASStagingTable-> 資料行 EventTypeId) |
EventType |
““OperationCompleted” |
EventVersion |
0 |
EventSourceId |
ASEventSources 檢視中的識別碼 |
ProcessId |
對應至 ASStagingTable-> 資料行:ProcessId |
TraceLevelId |
對應至 ASStagingTable-> 資料行:TraceLevelId |
TraceLevel |
視 TraceLevelId 而定:0:”LogAlways”1:”嚴重”2:”錯誤”3:”警告”4:”資訊”5:”詳細資訊” |
E2EActivityId |
對應至 ASStagingTable-> 資料行:ASStagingTable.E2EActivityId |
TimeCreated |
對應至 ASStagingTable-> 資料行:ASStagingTable.TimeCreated |
OperationName |
對應至 ASStagingTable-> 資料行:ASStagingTable.Data1Str |
Duration |
對應至 ASStagingTable-> 資料行:ASStagingTable.Data1Int |
如需有關此事件的詳細資訊,請參閱 214 - OperationCompleted (https://go.microsoft.com/fwlink/?LinkId=187225) (可能為英文網頁)。
事件識別碼 219
除了常用資料行之外,「事件收集」服務還會針對「事件識別碼 214」填入 ASStagingTable 資料表的下列資料行。
事件資料 | ASStagingTable 資料行 |
---|---|
ExceptionTypeName |
Data1Str |
ExceptionToString |
Data1MaxStr |
來自事件 219 的資料會填入下列檢視:ASEventSources、ASWcfEvents、ASEvents。從 ASStagingTable 到通用檢視 ASEventSources 與 ASEvents 的資料對應關係是在通用對應中指定。
檢視 ASWcfEvents
只有在此檢視中針對此事件填入的資料行會被指定。所有其他資料行都具有 NULL 值。此事件填入的特定值以粗體表示。
ColumnName | 填入的資料 |
---|---|
Id |
產生的唯一識別碼 |
EventTypeId |
219 (對應至:ASStagingTable-> 資料行 ASStagingTable .EventTypeId) |
EventType |
“ServiceException” |
EventVersion |
0 |
EventSourceId |
ASEventSources 檢視中的識別碼。這是 ASWcfEvents 中的事件與 ASEventSources 檢視的對應。 |
ProcessId |
對應至 ASStagingTable-> 資料行:ASStagingTable.ProcessId |
TraceLevelId |
對應至 ASStagingTable-> 資料行:ASStagingTable.TraceLevelId |
TraceLevel |
視 TraceLevelId 而定:0:”LogAlways”1:”嚴重”2:”錯誤”3:”警告”4:”資訊”5:”詳細資訊” |
E2EActivityId |
對應至 ASStagingTable-> 資料行:ASStagingTable.E2EActivityId |
TimeCreated |
對應至 ASStagingTable-> 資料行:ASStagingTable.TimeCreated |
ExceptionMessage |
對應至 ASStagingTable-> 資料行:ASStagingTable.Data1MaxStr |
ExceptionTypeName |
對應至 ASStagingTable-> 資料行:ASStagingTable.Data1Str |
如需有關此事件的詳細資訊,請參閱 219 - ServiceException (https://go.microsoft.com/fwlink/?LinkId=187230) (可能為英文網頁)。
2012-03-05