다음을 통해 공유


워크플로 추적 서비스 데이터베이스

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 테이블은 유형이 발생하는 모든 유형 정보 및 어셈블리 이름을 저장합니다. 여기에는 워크플로 유형, 활동 유형 및 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 테이블은 활동이 수명 주기에서 거친 여러 상태를 저장합니다. 지정된 워크플로 인스턴스의 지정된 활동에 대해 여러 개의 활동 상태가 있을 수 있습니다. 이러한 상태 중 하나만 현재 상태입니다.

설명

ActivityExecutionStatusEventId

활동 실행 상태 레코드의 고유 ID입니다.

WorkflowInstanceInternalId

활동이 속하는 워크플로 인스턴스의 내부 데이터베이스 ID입니다.

EventOrder

이벤트가 발생한 순서입니다.

ActivityInstanceId

상태가 기록된 활동의 고유 ID입니다.

ExecutionStatusId

여러 상태 설명을 저장하는 ActivityExecutionStatus 테이블에 대한 링크입니다.

EventDateTime

이벤트가 발생한 날짜 및 시간입니다.

DbEventDateTime

이벤트가 발생한 데이터베이스 날짜 및 시간입니다.

ActivityExecutionStatus

ActivityExecutionStatus 테이블은 활동이 거칠 수 있는 모든 실행 상태의 리터럴 값을 저장하는 참조 테이블입니다.

설명

ExecutionStatusId

상태의 고유 ID입니다.

Description

상태의 리터럴 값입니다.

TrackingDataItem

각 활동 상태에 대해 TrackingDataItem 테이블은 SqlTrackingService가 추적 프로필에 표시된 대로 이러한 항목을 추적하는 경우 데이터와 유사한 변수, 속성 등의 집합을 저장합니다. 추적 프로필은 특정 활동이 특정 상태에 도달할 때 추적해야 하는 워크플로 특성을 지정할 수 있습니다.

설명

TrackingDataItemId

특정 workflowInstance에 속하는, 지정된 활동 상태에 대한 지정된 아티팩트의 레코드를 나타내는 고유 ID입니다.

WorkflowInstanceInternalId

워크플로 인스턴스의 내부 데이터베이스 ID입니다.

EventId

추적 데이터 항목이 추출된 이벤트 ID입니다.

EventTypeId

추적 데이터 항목이 추출된 이벤트 유형입니다.

FieldName

추적되는 변수(데이터 항목)의 이름입니다.

FieldTypeId

추적되는 변수(데이터 항목)의 유형 ID입니다. Type 테이블을 참조합니다.

Data_Str

추적되는 데이터의 문자열 값입니다(기본 형식이며 문자열로 변환할 수 있는 경우).

Data_Blob

추적되는 데이터 값의 BLOB(Binary Large Object)입니다(기본 형식이 아니며 이진 serialize할 수 있는 경우).

DataNonSerializable

데이터가 있었지만 문자열로 변환하거나 이진 serialize할 수 없었음을 나타내는 플래그입니다.

TrackingDataItemAnnotation

TrackingDataItemAnnotation 테이블은 지정된 추적 데이터 항목에 설정된 모든 주석을 저장합니다. 추적 프로필이 주석을 표시합니다.

설명

TrackingDataItemId

주석이 저장되는 추적 데이터 항목의 ID입니다.

WorkflowInstanceInternalId

워크플로 인스턴스의 내부 데이터베이스 ID입니다.

Annotation

주석의 리터럴 값입니다.

EventAnnotation

EventAnnotation 테이블은 워크플로 이벤트와 연결된 모든 주석을 저장합니다.

설명

WorkflowInstanceInternalId

워크플로 인스턴스의 내부 데이터베이스 ID입니다.

EventId

주석이 발생한 이벤트의 내부 데이터베이스 ID입니다.

EventTypeId

이벤트 형식의 내부 데이터베이스 ID입니다.

Annotation

주석의 리터럴 값입니다.

WorkflowInstanceEvent

WorkflowInstanceEvent 테이블은 워크플로가 수명 주기에서 거친 여러 이벤트를 저장합니다. 지정된 워크플로 인스턴스에 대한 여러 이벤트가 있을 수 있습니다. 그러나 이러한 이벤트 중 하나만 현재 이벤트입니다.

설명

WorkflowInstanceEventId

워크플로 인스턴스 이벤트 레코드의 고유 ID입니다.

WorkflowInstanceInternalId

활동이 속하는 워크플로 인스턴스의 내부 데이터베이스 ID입니다.

EventDateTime

이벤트가 발생한 날짜 및 시간입니다.

EventOrder

이벤트가 발생한 순서입니다.

EventArgTypeId

이벤트 인수의 데이터 형식에 대한 내부 데이터베이스 ID입니다.

EventArg

이벤트 인수의 이진 serialize된 데이터입니다.

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

추적되는 데이터 값의 BLOB(Binary Large Object)입니다(기본 형식이 아니며 이진 serialize할 수 있는 경우).

DataNonSerializable

데이터가 있었지만 문자열로 변환하거나 이진 serialize할 수 없었음을 나타내는 플래그입니다.

DbEventDateTime

이벤트가 발생한 데이터베이스 날짜 및 시간입니다.

AddedActivity

AddedActivity 테이블은 워크플로가 변경될 때 워크플로에 추가되는 활동을 저장합니다. 각 워크플로 변경에 대해 많은 활동이 추가될 수 있습니다.

설명

WorkflowInstanceInternalId

워크플로 인스턴스의 내부 데이터베이스 ID입니다.

WorkflowInstanceEventId

워크플로 인스턴스의 이벤트에 대한 참조입니다.

QualifiedName

추가되는 활동의 정규화된 이름입니다.

ActivityTypeId

동적 변경의 일부로 추가된 활동의 유형과 어셈블리 이름을 나타내는 Type 테이블에 대한 링크입니다.

ParentQualifiedName

이 활동이 포함된 부모 활동의 정규화된 이름입니다.

AddedActivityAction

동적 업데이트 이벤트에서 만든 ActivityChangeAction 개체의 serialize된 값입니다.

Order

활동이 워크플로에 추가된 순서입니다.

RemovedActivity

RemovedActivity 테이블은 워크플로 변경에 의해 제거된 모든 활동을 저장합니다. 각 워크플로 변경에 대해 많은 활동이 제거될 수 있습니다.

설명

WorkflowInstanceInternalId

워크플로 인스턴스의 내부 데이터베이스 ID입니다.

WorkflowInstanceEventId

워크플로 인스턴스의 이벤트에 대한 참조입니다.

QualifiedName

제거된 활동의 정규화된 이름입니다.

ParentQualifiedName

이 활동이 포함된 부모 활동의 정규화된 이름입니다.

RemovedActivityAction

동적 업데이트 이벤트에서 만든 ActivityChangeAction 개체의 serialize된 값입니다.

Order

활동이 워크플로에 추가된 순서입니다.

TrackingProfile

TrackingProfile 테이블은 지정된 워크플로 유형에 대한 추적 프로필을 저장합니다.

설명

TrackingProfileId

추적 프로필의 고유 ID입니다.

Version

Tracking Profile의 버전((TrackingProfile.Version 또는 Tracking Profile XML의 버전 특성)과 일치해야 하는 추적 프로필의 버전입니다.

WorkflowTypeId

워크플로의 유형 이름과 어셈블리 이름을 저장하는 Type 테이블에 대한 링크입니다.

TrackingProfileXml

추적 프로필 XML입니다.

InsertDateTime

프로필을 삽입한 날짜 및 시간입니다.

TrackingProfileInstance

TrackingProfileInstance 테이블은 특정 워크플로 인스턴스와 연결된 추적 프로필을 저장합니다. 각 워크플로 인스턴스에 다른 프로필이 사용되는 경우에 사용합니다.

설명

InstanceId

추적 프로필이 저장되는 워크플로 인스턴스 내부 ID입니다.

TrackingProfileXml

추적 프로필 XML입니다.

UpdatedDateTime

업데이트가 발생한 날짜 및 시간입니다.

DefaultTrackingProfile

DefaultTrackingProfile 테이블은 기본 추적 프로필을 저장합니다. 추적 프로필이 지정된 워크플로 유형과 연결되어 있지 않으면 기본 추적 프로필이 사용됩니다.

설명

Version

Tracking Profile의 버전(TrackingProfile.Version 또는 Tracking Profile 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.