次の方法で共有


ワークフロー追跡サービス データベース

Windows Workflow Foundation の SQL 追跡サービスによって、ワークフローとそれに関連するアクティビティに関する追跡情報を追加することができます。SqlTrackingQuery クラスは、追跡データベースに保存されているデータへの高いレベルのアクセスを提供します。ただし、詳細情報に関する SQL 追跡サービスのデータベース ビューに対して、直接クエリを使用することもできます。このビューは、基になる SQL 追跡サービスのテーブル スキーマに直接マップされます。

SQL 追跡サービス データベース テーブル

次に、SQL 追跡サービスで使用されるテーブルとそれに関連する列の概要について説明します。

Workflow

Workflow テーブルには、SqlTrackingService によって追跡されたすべてのワークフローの型について、ワークフローの定義が保存されます。このテーブルは、初めてワークフローがインスタンス化され、そのワークフローの型に対して SqlTrackingService が有効にされたときに生成されます。

説明

WorkflowTypeId

ワークフロー型が表示される、型名とアセンブリ名を格納する Type テーブルへのリンク。

WorkflowDefinition

ワークフローの定義。

Activity

Activity テーブルには、対応するワークフローの型に現れるすべてのアクティビティの型が保存されます。

説明

WorkflowTypeId

ワークフロー型が表示される、型名とアセンブリ名を格納する Type テーブルへのリンク。

QualifiedName

ワークフロー定義からのアクティビティの修飾名。

ActivityTypeId

型名と、アクティビティの型が現れるアセンブリ名が保存されている Type テーブルへのリンク。

ParentQualifiedName

アクティビティが別のアクティビティの一部である場合は、このフィールドに親アクティビティのアクティビティ修飾名が保存されます。

Type

Type テーブルには、すべての型情報とその型が現れるアセンブリ名が保存されます。このテーブルには、ワークフローの型、アクティビティの型、および SqlTrackingService 内部で使用されるその他の型が保存されます。たとえば、追跡データ項目として文字列を追跡した場合は、その文字列型の情報がこのテーブルに保存されます。

説明

TypeId

型の一意な ID。

TypeFullName

型の完全修飾名。

AssemblyFullName

型が保存されるアセンブリの完全名。

IsInstanceType

ワークフロー インスタンスが XOML 限定のインスタンスかどうかを示すブール値 (この場合は、型のアセンブリの完全名が NULL になります)。

WorkflowInstance

WorkflowInstance テーブルには、追跡データベースで追跡されていたすべてのワークフロー インスタンスのリストが保存されます。

説明

WorkflowInstanceInternalId

データベースによってワークフロー インスタンスに与えられた一意な内部 ID。データベースで他のテーブルを結合するときに、外部キーとして使用されます。

WorkflowInstanceId

ワークフロー インスタンスの GUID。

ContextGuid

このワークフロー インスタンスに関するコンテキスト情報。

CallerInstanceId

このワークフロー インスタンスを呼び出したワークフロー インスタンスの ID。

CallPath

ワークフロー インスタンスが、他の複数のワークフロー インスタンスから順に呼び出される場合に使用される呼び出しの完全なパス。

CallerContextGuid

呼び出し元に関するコンテキスト情報。

CallerParentContextGuid

呼び出し元インスタンスの親ワークフロー インスタンスに関するコンテキスト情報。

WorkflowTypeId

ワークフロー型 ID を使用している Workflow テーブルへのリンク。

InitializedDateTime

ワークフロー インスタンスが初期化された日時。

CreatedDateTime

ワークフロー インスタンスが作成された日時。

DbInitializedDateTime

ワークフロー インスタンス レコードが初期化されたデータベース日時。

EndDateTime

ワークフロー インスタンスが完成または終了した日時。

DbEndDateTime

ワークフロー インスタンス レコードがコミットされたデータベース日時。

ActivityInstance

ActivityInstance テーブルは、追跡するアクティビティのインスタンスを保存するために使用されます。このテーブルと WorkflowInstance テーブルは多対一の関係になっています。

説明

WorkflowInstanceInternalId

アクティビティが属しているワークフロー インスタンスの内部データベース ID。

ActivityInstanceId

特定のワークフロー インスタンスに関して追跡されるアクティビティの一意な ID。

QualifiedName

ワークフロー定義からのアクティビティの修飾名。

ContextGuid

アクティビティのコンテキスト。

ParentContextGuid

親アクティビティのコンテキスト。

WorkflowInstanceEventId

ワークフロー インスタンス イベント レコードの一意な ID。

ActivityExecutionStatusEvent

ActivityExecutionStatusEvent テーブルには、アクティビティがその有効期間内に遷移したさまざまな状態が保存されます。特定のワークフロー インスタンス内の特定のアクティビティの場合は、複数のアクティビティ状態を取ることができます。その内の 1 つだけが、現在の状態になります。

説明

ActivityExecutionStatusEventId

アクティビティ実行状態レコードの一意な ID。

WorkflowInstanceInternalId

アクティビティが属しているワークフロー インスタンスの内部データベース ID。

EventOrder

イベントが発生した順序。

ActivityInstanceId

状態が記録されるアクティビティの一意な ID。

ExecutionStatusId

さまざまな状態の記述が保存されている ActivityExecutionStatus テーブルへのリンク。

EventDateTime

イベントが発生した日時。

DbEventDateTime

イベントが発生したデータベース日時。

ActivityExecutionStatus

ActivityExecutionStatus テーブルは、アクティビティが遷移可能なすべての実行状態のリテラル値が保存されている参照テーブルです。

説明

ExecutionStatusId

状態の一意な ID。

Description

状態のリテラル値。

TrackingDataItem

SqlTrackingService によって、追跡プロファイルで指定されたように項目が追跡される場合は、アクティビティのそれぞれの状態に対して、データに似た変数やプロパティなどのセットが TrackingDataItem テーブルに保存されます。追跡プロファイルには、特定のアクティビティが特定の状態に遷移したときに、追跡する必要のあるワークフロー属性を指定することができます。

説明

TrackingDataItemId

特定の workflowInstance に属しているアクティビティの特定の状態に関する特定の結果のレコードを表す一意な ID。

WorkflowInstanceInternalId

ワークフロー インスタンスの内部データベース ID。

EventId

追跡データ項目が抽出されたイベント ID。

EventTypeId

追跡データ項目が抽出されたイベントの種類。

FieldName

追跡される変数 (データ項目) の名前。

FieldTypeId

追跡される変数 (データ項目) の型 ID。これは、Type テーブルを参照しています。

Data_Str

追跡されるデータの文字列値 (プリミティブ型で文字列に変換可能な場合)。

Data_Blob

追跡されるデータの値のバイナリ ラージ オブジェクト値 (プリミティブ型以外で、バイナリにシリアル化可能な場合)。

DataNonSerializable

データは存在していたが、文字列に変換 (またはバイナリにシリアル化) できなかったことを示すフラグ。

TrackingDataItemAnnotation

TrackingDataItemAnnotation テーブルには、特定の追跡データ項目に関してワークフロー内で作成されたすべての注釈が保存されます。注釈は、追跡プロファイルで示されます。

説明

TrackingDataItemId

注釈が保存される追跡データ項目の ID。

WorkflowInstanceInternalId

ワークフロー インスタンスの内部データベース ID。

Annotation

注釈のリテラル値。

EventAnnotation

EventAnnotation テーブルには、ワークフロー イベントに関連付けられたすべての注釈が保存されます。

説明

WorkflowInstanceInternalId

ワークフロー インスタンスの内部データベース ID。

EventId

注釈が作成されたイベントの内部データベース ID。

EventTypeId

イベントの種類の内部データベース ID。

Annotation

注釈のリテラル値。

WorkflowInstanceEvent

WorkflowInstanceEvent テーブルには、ワークフローがその有効期間内に通過したさまざまなイベントが保存されます。特定のワークフロー インスタンスに対して複数のイベントを保存することができますが、その内の 1 つだけが、現在のイベントになります。

説明

WorkflowInstanceEventId

ワークフロー インスタンス イベント レコードの一意な ID。

WorkflowInstanceInternalId

アクティビティが属しているワークフロー インスタンスの内部データベース ID。

EventDateTime

イベントが発生した日時。

EventOrder

イベントが発生した順序。

EventArgTypeId

イベント引数のデータ型の内部データベース ID。

EventArg

イベント引数のバイナリにシリアル化されたデータ。

DbEventDateTime

イベントが発生したデータベース日時。

TrackingWorkflowEvent

TrackingWorkflowEvent テーブルには、ワークフローが通過可能なすべてのイベントのリテラル値が保存されます。

説明

TrackingWorkflowEventId

イベントの一意な ID。

Description

イベントのリテラル値。

UserEvent

UserEvent テーブルには、カスタム ユーザー追跡ポイントで発行および追跡されるさまざまなイベントが保存されます。特定のワークフロー インスタンスに複数のユーザー イベントを保存することができます。

説明

UserEventId

ユーザー イベントの一意な ID。

WorkflowInstanceInternalId

アクティビティが属しているワークフロー インスタンスの内部データベース ID。

EventOrder

イベントが発生した順序。

ActivityInstanceId

ユーザー イベントが発生したアクティビティの一意な ID (コード発行イベントがワークフロー コード内で発生する場合)。

EventDateTime

イベントが発生した日時。

UserDataKey

ユーザー イベントで渡されるキー値 (TrackData メソッドを使用している場合)。

UserDataTypeId

追跡されるユーザー データの Type テーブル内の型 ID。

UserData_Str

追跡されるデータの文字列値 (プリミティブ型で、文字列に変換可能な場合)。

UserData_Blob

追跡されるデータの値のバイナリ ラージ オブジェクト値 (プリミティブ型以外で、バイナリにシリアル化可能な場合)。

DataNonSerializable

データは存在していたが、文字列に変換 (またはバイナリにシリアル化) できなかったことを示すフラグ。

DbEventDateTime

イベントが発生したデータベース日時。

AddedActivity

AddedActivity テーブルには、ワークフローが変化したときに、ワークフローに追加されるアクティビティが保存されます。ワークフローが変化するたびに複数のアクティビティを追加することができます。

説明

WorkflowInstanceInternalId

ワークフロー インスタンスの内部データベース ID。

WorkflowInstanceEventId

ワークフロー インスタンスのイベントへの参照。

QualifiedName

追加されるアクティビティの修飾名。

ActivityTypeId

動的変更の一部として追加されたアクティビティの型とアセンブリ名を示す Type テーブルへのリンク。

ParentQualifiedName

このアクティビティが含まれる親アクティビティの修飾名。

AddedActivityAction

動的な更新イベントから作成された ActivityChangeAction オブジェクトのシリアル化された値。

Order

アクティビティがワークフローに追加された順序

RemovedActivity

RemovedActivity テーブルには、ワークフローの変化によって削除されたすべてのアクティビティが保存されます。ワークフローの変化ごとに複数のアクティビティを削除することができます。

説明

WorkflowInstanceInternalId

ワークフロー インスタンスの内部データベース ID。

WorkflowInstanceEventId

ワークフロー インスタンスのイベントへの参照。

QualifiedName

削除されたアクティビティの修飾名。

ParentQualifiedName

このアクティビティが含まれる親アクティビティの修飾名。

RemovedActivityAction

動的な更新イベントから作成された ActivityChangeAction オブジェクトのシリアル化された値。

Order

アクティビティがワークフローに追加された順序

TrackingProfile

TrackingProfile テーブルには、特定のワークフロー型の追跡プロファイルが保存されます。

説明

TrackingProfileId

追跡プロファイルの一意な ID。

Version

追跡プロファイルのバージョンです。追跡プロファイルのバージョン (TrackingProfile.Version、または追跡プロファイル XML のバージョン属性) に対応している必要があります。

WorkflowTypeId

ワークフローの型名とアセンブリ名が保存されている Type テーブルへのリンク。

TrackingProfileXml

追跡プロファイル XML。

InsertDateTime

プロファイルが挿入された日時。

TrackingProfileInstance

TrackingProfileInstance テーブルには、特定のワークフロー インスタンスに関連付けられた追跡プロファイルが保存されます。このテーブルは、複数のプロファイルが複数のワークフロー インスタンスに対して使用される場合に使用されます。

説明

InstanceId

追跡プロファイルが保存されるワークフロー インスタンスの内部 ID。

TrackingProfileXml

追跡プロファイル XML。

UpdatedDateTime

更新が行われた日時。

DefaultTrackingProfile

DefaultTrackingProfile テーブルには、既定の追跡プロファイルが保存されます。追跡プロファイルが特定のワークフロー型に関連付けられていない場合は、既定の追跡プロファイルが使用されます。

説明

Version

追跡プロファイルのバージョン番号です。追跡プロファイルのバージョン (TrackingProfile.Version、または追跡プロファイル XML のバージョン属性) に対応している必要があります。

TrackingProfileXml

追跡プロファイル XML。

InsertDateTime

追跡プロファイルが挿入された日時。

TrackingPartitionInterval

TrackingPartitionInterval テーブルには、データ保守用の分割を可能にするために、分割周期が保存されます。これは、SqlTrackingService クラスの PartitionOnCompletion プロパティが true に設定されている場合にのみ実行されます。既定は、毎月の ("m") です。毎日 ("d") または毎年 ("y") に設定することができます。

説明

Interval

テーブルを分割する周期。

TrackingPartitionSetName

TrackingPartitionSetName テーブルには、分割セット名に関する情報が保存されます。

説明

PartitionId

分割の一意な ID。

Name

分割の名前。

CreatedDateTime

分割が実行された日時。

EndDateTime

分割が解除された日時。

PartitionInterval

この特定のセットの分割周期。

SQL 追跡サービス データベース ロール

  • tracking_writer

    このロールは、ホスト プロセスを実行するアカウントが属している必要のあるロールです。このロールには、追跡プロファイルを取得して追跡データを書き込むための権限が付与されています。

  • tracking_reader

    このロールのアカウントは、すべてのデータを表示することができますが、データを更新または変更することはできません。また、このロールのユーザーは基になるテーブルにアクセスすることができません。

  • tracking_profilereaderwriter

    このロールは、プロファイル データを変更する必要のあるユーザー アカウント用です。

関連項目

参照

SqlTrackingService

その他の技術情報

Simple Tracking Example
Windows Workflow Foundation の一般的な参照情報

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.