工作流程追蹤服務資料庫
Windows Workflow Foundation 的 SQL 追蹤服務,可讓您加入關於工作流程與其相關活動的追蹤資訊。SqlTrackingQuery 類別提供對追蹤資料庫所含之資料的高層級存取。然而,您也可以對 SQL 追蹤服務資料庫檢視使用直接查詢,以取得更詳細資訊。這些檢視直接對應至基礎 SQL 追蹤服務資料表結構描述。
SQL 追蹤服務資料庫資料表
下列資訊概述 SQL 追蹤服務使用的資料表及其相關資料行。
工作流程
工作流程資料表儲存已經由 SqlTrackingService 追蹤之所有工作流程類型的工作流程定義。它會在工作流程首次具現化 (Instantiated) 及此工作流程類別啟用 SqlTrackingService 時填入。
資料行 | 描述 |
---|---|
WorkflowTypeId |
連結至型別資料表,其中儲存型別名稱和組件名稱 (顯示工作流程類型的位置)。 |
WorkflowDefinition |
工作流程的定義。 |
活動
活動資料表儲存所有出現在對應工作流程類型的活動類別。
資料行 | 描述 |
---|---|
WorkflowTypeId |
連結至型別資料表,其中儲存型別名稱和組件名稱 (顯示工作流程類型的位置)。 |
QualifiedName |
來自工作流程定義的活動限定名稱。 |
ActivityTypeId |
連結至型別資料表,其中儲存型別名稱和組件名稱 (顯示活動類型的位置)。 |
ParentQualifiedName |
若活動是在另一個活動中組成,此欄將保留父活動的活動限定名稱。 |
型別
型別資料表儲存所有型別資訊和型別發生的組件名稱。其中包括工作流程類型、活動類型以及在 SqlTrackingService 中使用的任何其他類型。例如,若您以追蹤資料項目追蹤字串,字串型別資訊即儲存於此資料表。
資料行 | 描述 |
---|---|
TypeId |
型別的唯一識別碼。 |
TypeFullName |
型別的完整格式名稱。 |
AssemblyFullName |
儲存型別的組件之完整名稱。 |
IsInstanceType |
布林值,表示工作流程執行個體是否限制為 XOML 的執行個體 (在此例中,型別與組件全名將為 null)。 |
WorkflowInstance
WorkflowInstance 資料表保留在追蹤資料庫中追蹤的所有工作流程執行個體清單。
資料行 | 描述 |
---|---|
WorkflowInstanceInternalId |
資料庫賦予工作流程執行個體的唯一內部識別碼。它的作用是在資料庫聯結其他資料表時當成外部索引鍵。 |
WorkflowInstanceId |
工作流程執行個體的 GUID。 |
ContextGuid |
關於此工作流程執行個體的內容資訊。 |
CallerInstanceId |
叫用此工作流程執行個體的工作流程執行個體識別碼。 |
CallPath |
假如工作流程執行個體呼叫工作流程執行個體,然後它又被其他工作流程執行個體呼叫,此時使用的完整呼叫路徑。 |
CallerContextGuid |
關於呼叫端的內容資訊。 |
CallerParentContextGuid |
關於呼叫執行個體的父工作流程執行個體之內容資訊。 |
WorkflowTypeId |
連結至使用工作流程類型識別碼的工作流程資料表。 |
InitializedDateTime |
工作流程執行個體初始化的日期和時間。 |
CreatedDateTime |
工作流程執行個體建立的日期和時間。 |
DbInitializedDateTime |
工作流程執行個體記錄初始化的資料庫日期和時間。 |
EndDateTime |
工作流程執行個體的完成 / 終止的日期和時間。 |
DbEndDateTime |
工作流程執行個體記錄認可的資料庫日期和時間。 |
ActivityInstance
ActivityInstance 資料表是用來儲存追蹤的活動執行個體。此資料表對應至 WorkflowInstance 資料表為多對一的關係。
資料行 | 描述 |
---|---|
WorkflowInstanceInternalId |
活動所屬之工作流程執行個體的內部資料庫識別碼。 |
ActivityInstanceId |
針對指定工作流程執行個體追蹤活動的唯一識別碼。 |
QualifiedName |
來自工作流程定義的活動限定名稱。 |
ContextGuid |
活動的內容。 |
ParentContextGuid |
父活動的內容。 |
WorkflowInstanceEventId |
工作流程執行個體事件記錄的唯一識別碼。 |
ActivityExecutionStatusEvent
ActivityExecutionStatusEvent 資料表儲存活動在經過其生命周期時不同的狀態。針對指定工作流程執行個體的指定活動而言,可能有多個活動狀態。其中只有一個是目前狀態。
資料行 | 描述 |
---|---|
ActivityExecutionStatusEventId |
活動執行狀態記錄的唯一識別碼。 |
WorkflowInstanceInternalId |
活動所屬之工作流程執行個體的內部資料庫識別碼。 |
EventOrder |
發生事件的順序。 |
ActivityInstanceId |
活動狀態記錄的唯一識別碼。 |
ExecutionStatusId |
連結至儲存不同狀態描述的 ActivityExecutionStatus 資料表。 |
EventDateTime |
事件發生的日期與時間。 |
DbEventDateTime |
發生此事件的資料庫日期和時間。 |
ActivityExecutionStatus
ActivityExecutionStatus 資料表是儲存活動經歷之所有可能執行狀態之常值的參考資料表。
資料行 | 描述 |
---|---|
ExecutionStatusId |
狀態的唯一識別碼。 |
描述 |
狀態的常值。 |
TrackingDataItem
針對每個活動狀態,若 SqlTrackingService 追蹤諸如變數、屬性等項目 (如追蹤設定檔所示),TrackingDataItem 資料表就會儲存一組資料。追蹤設定檔可指定當特定活動達到特定狀態時,必須追蹤哪些工作流程屬性。
資料行 | 描述 |
---|---|
TrackingDataItemId |
唯一的識別碼代表特定 workflowInstance 之活動的指定狀態之指定成品記錄。 |
WorkflowInstanceInternalId |
工作流程執行個體的內部資料庫識別碼。 |
EventId |
擷取追蹤資料項目的事件識別碼。 |
EventTypeId |
擷取追蹤資料項目的事件型別。 |
FieldName |
追蹤的變數名稱 (資料項目)。 |
FieldTypeId |
追蹤的變數型別識別碼 (資料項目)。參考型別資料表。 |
Data_Str |
追蹤的資料字串值 (若為基本型別且可轉換為字串)。 |
Data_Blob |
追蹤資料值的二進位大型物件值 (若為非基本型別且能以二進位序列化)。 |
DataNonSerializable |
表示資料存在,但不能轉換為字串或二進位序列化的旗標。 |
TrackingDataItemAnnotation
TrackingDataItemAnnotation 資料表儲存針對指定追蹤資料項目在工作流程中產生的所有附註。附註由追蹤設定檔指示。
資料行 | 描述 |
---|---|
TrackingDataItemId |
附註儲存之追蹤資料項目的識別碼。 |
WorkflowInstanceInternalId |
工作流程執行個體的內部資料庫識別碼。 |
附註 |
附註的常值。 |
EventAnnotation
EventAnnotation 資料表儲存所有與工作流程事件相關的附註。
資料行 | 描述 |
---|---|
WorkflowInstanceInternalId |
工作流程執行個體的內部資料庫識別碼。 |
EventId |
發生附註之事件的內部資料庫識別碼。 |
EventTypeId |
事件型別的內部資料庫識別碼。 |
附註 |
附註的常值。 |
WorkflowInstanceEvent
WorkflowInstanceEvent 資料表儲存工作流程在經過其生命周期時不同的事件。指定工作流程執行個體可能具有多個事件;但其中只有一個為目前事件。
資料行 | 描述 |
---|---|
WorkflowInstanceEventId |
工作流程執行個體事件記錄的唯一識別碼。 |
WorkflowInstanceInternalId |
活動所屬之工作流程執行個體的內部資料庫識別碼。 |
EventDateTime |
事件發生的日期與時間。 |
EventOrder |
發生事件的順序。 |
EventArgTypeId |
事件引數之資料型別的內部資料庫識別碼 |
EventArg |
事件引數的二進位序列化資料 |
DbEventDateTime |
發生此事件的資料庫日期和時間。 |
TrackingWorkflowEvent
TrackingWorkflowEvent 資料表儲存工作流程可能經歷的所有事件之常值。
資料行 | 描述 |
---|---|
TrackingWorkflowEventId |
事件的唯一識別碼。 |
描述 |
事件的常值。 |
UserEvent
UserEvent 資料表儲存發出的不同事件並按自訂的使用者追蹤點加以追蹤。指定工作流程執行個體可以有多個使用者事件。
資料行 | 描述 |
---|---|
UserEventId |
使用者事件的唯一識別碼。 |
WorkflowInstanceInternalId |
活動所屬之工作流程執行個體的內部資料庫識別碼。 |
EventOrder |
發生事件的順序。 |
ActivityInstanceId |
使用者事件發生的活動之唯一識別碼 (發出事件的程式碼屬於工作流程程式碼)。 |
EventDateTime |
事件發生的日期與時間。 |
UserDataKey |
使用者事件所傳送的關鍵值 (當您使用 TrackData 方法)。 |
UserDataTypeId |
追蹤的使用者資料中,位於型別資料表的型別識別碼。 |
UserData_Str |
追蹤的資料字串值 (若為基本型別且可轉換為字串)。 |
UserData_Blob |
追蹤資料值的二進位大型物件值 (若為非基本型別且能以二進位序列化)。 |
DataNonSerializable |
表示資料存在,但不能轉換為字串或二進位序列化的旗標。 |
DbEventDateTime |
發生此事件的資料庫日期和時間。 |
AddedActivity
AddedActivity 資料表儲存活動,當工作流程發生變更時,活動即加入工作流程。每個工作流程的變更可能加入許多活動。
資料行 | 描述 |
---|---|
WorkflowInstanceInternalId |
工作流程執行個體的內部資料庫識別碼。 |
WorkflowInstanceEventId |
參考工作流程執行個體的事件。 |
QualifiedName |
加入的活動之限定名稱。 |
ActivityTypeId |
連結至型別資料表以針對活動指示型別和組件名稱,這些活動是因動態變更而加入。 |
ParentQualifiedName |
包含此活動之父活動的限定名稱。 |
AddedActivityAction |
從動態更新事件建立的 ActivityChangeAction 物件之序列值。 |
順序 |
活動加入工作流程的順序 |
RemovedActivity
RemovedActivity 資料表儲存所有被工作流程變更所移除的活動。每個工作流程變更都可能移除許多活動。
資料行 | 描述 |
---|---|
WorkflowInstanceInternalId |
工作流程執行個體的內部資料庫識別碼。 |
WorkflowInstanceEventId |
參考工作流程執行個體的事件。 |
QualifiedName |
移除的活動之限定名稱。 |
ParentQualifiedName |
包含此活動之父活動的限定名稱。 |
RemovedActivityAction |
從動態更新事件建立的 ActivityChangeAction 物件之序列值。 |
順序 |
活動加入工作流程的順序 |
TrackingProfile
TrackingProfile 資料表儲存指定之工作流程類型的追蹤設定檔。
資料行 | 描述 |
---|---|
TrackingProfileId |
追蹤設定檔的唯一識別碼。 |
版本 |
追蹤設定檔的版本,應當對應追蹤設定檔的版本 (追蹤設定檔 XML 中的 TrackingProfile.Version 或版本屬性)。 |
WorkflowTypeId |
連結至型別資料表,其中儲存工作流程的型別名稱和組件名稱。 |
TrackingProfileXml |
追蹤設定檔 XML。 |
InsertDateTime |
設定檔插入的日期與時間。 |
TrackingProfileInstance
TrackingProfileInstance 資料表儲存特定工作流程執行個體相關的追蹤設定檔。不同工作流程執行個體使用不同設定檔時使用。
資料行 | 描述 |
---|---|
InstanceId |
追蹤設定檔儲存的工作流程執行個體內部識別碼。 |
TrackingProfileXml |
追蹤設定檔 XML。 |
UpdatedDateTime |
更新發生的日期與時間。 |
DefaultTrackingProfile
DefaultTrackingProfile 資料表儲存預設追蹤設定檔。若追蹤設定檔未與指定工作流程類型相關聯,此時會使用預設追蹤設定檔。
資料行 | 描述 |
---|---|
版本 |
追蹤設定檔的版本編號,應當對應追蹤設定檔的版本 (追蹤設定檔 XML 中的 TrackingProfile.Version 或版本屬性)。 |
TrackingProfileXml |
追蹤設定檔 XML。 |
InsertDateTime |
追蹤設定檔插入的日期與時間。 |
TrackingPartitionInterval
TrackingPartitionInterval 資料表儲存分割間隔,以啟用分割供資料維護之用。只有當 SqlTrackingService 類別的 PartitionOnCompletion 屬性設定為 true 時才會發生。預設為每月 ("m")。您可將它設定為每日 ("d") 或每年 ("y")。
資料行 | 描述 |
---|---|
Interval |
資料表要分割的間隔。 |
TrackingPartitionSetName
TrackingPartitionSetName 資料表保留關於分割集名稱的資訊。
資料行 | 描述 |
---|---|
PartitionId |
分割的唯一識別碼。 |
名稱 |
分割的名稱。 |
CreatedDateTime |
分割建立的日期與時間。 |
EndDateTime |
分割結束的日期與時間。 |
PartitionInterval |
此特定集的分割間隔。 |
SQL 追蹤服務資料庫角色
tracking_writer
這是執行主機處理程序之帳戶應扮演的角色。該角色擁有權限可取出追蹤設定檔及寫入追蹤資料。
tracking_reader
此種角色的帳戶可檢視所有資料,但無法更新或修改資料。此角色的使用者也無法存取基礎表格。
tracking_profilereaderwriter
此角色是針對需要修改設定檔資料的使用者帳戶。
請參閱
參考
其他資源
Simple Tracking Example
Windows Workflow Foundation 一般參考
Copyright © 2007 by Microsoft Corporation. All rights reserved.