Datenbank für Workflow-Überwachungsdienst
Mit dem SQL-Überwachungsdienst in Windows Workflow Foundation können Verfolgungsinformationen zu Workflows und den zugeordneten Aktivitäten hinzugefügt werden. Die SqlTrackingQuery-Klasse ermöglicht Zugriff auf hoher Ebene auf die Daten, die in der Verfolgungsdatenbank enthalten sind. Allerdings erhalten Sie durch direkte Abfragen der Datenbankansichten des SQL-Überwachungsdiensts noch genauere Informationen. Diese Ansichten werden direkt den zugrunde liegenden Tabellenschemas des SQL-Überwachungsdiensts zugeordnet.
Datenbanktabellen des SQL-Überwachungsdiensts
Nachfolgend finden Sie Informationen zu den Tabellen und den zugeordneten Spalten, die vom SQL-Überwachungsdienst verwendet werden.
Workflow
In der Workflowtabelle wird die Workflowdefinition aller Workflowtypen gespeichert, die von SqlTrackingService nachverfolgt wurden. Die Tabelle wird bei der ersten Instanziierung des Workflows ausgefüllt und SqlTrackingService ist für diesen Workflowtyp aktiviert.
Spalte | Beschreibung |
---|---|
WorkflowTypeId |
Stellt eine Verknüpfung zu der Typtabelle her, in der der Typ- und der Assemblyname an der Stelle gespeichert werden, an der der Workflowtyp angezeigt wird. |
WorkflowDefinition |
Die Definition des Workflows. |
Aktivität
In der Aktivitätstabelle werden alle Aktivitätstypen, die in den entsprechenden Workflowtypen angezeigt werden, gespeichert.
Spalte | Beschreibung |
---|---|
WorkflowTypeId |
Stellt eine Verknüpfung zu der Typtabelle her, in der der Typ- und der Assemblyname an der Stelle gespeichert werden, an der der Workflowtyp angezeigt wird. |
QualifiedName |
Der qualifizierte Name der Aktivität in der Workflowdefinition. |
ActivityTypeId |
Stellt eine Verknüpfung zu der Typtabelle her, in der der Typ- und der Assemblyname an der Stelle gespeichert werden, an der der Aktivitätstyp angezeigt wird. |
ParentQualifiedName |
Wird die Aktivität in einer anderen Aktivität zusammengesetzt, beinhaltet dieses Feld den für die Aktivität qualifizierten Namen der übergeordneten Aktivität. |
Typ
In der Typtabelle werden alle Typinformationen und die Assemblynamen, in denen die Typen auftreten, gespeichert. Dies schließt Workflowtypen, Aktivitätstypen und beliebige andere Typen ein, die innerhalb von SqlTrackingService verwendet werden. Wird beispielsweise eine Zeichenfolge als Verfolgungsdatenelement verfolgt, werden die Informationen zum Zeichenfolgentyp in dieser Tabelle gespeichert.
Spalte | Beschreibung |
---|---|
TypeId |
Eindeutige ID für den Typ. |
TypeFullName |
Vollqualifizierter Name des Typs. |
AssemblyFullName |
Vollständiger Name für die Assembly, in der der Typ gespeichert wird. |
IsInstanceType |
Boolescher Wert, der angibt, ob es sich bei der Workflowinstanz um eine XOML-exklusive Instanz handelt (in diesem Fall sind der Typ und die vollständigen Assemblynamen NULL). |
WorkflowInstance
In der WorkflowInstance-Tabelle wird die Liste aller Workflowinstanzen verwaltet, die in der Verfolgungsdatenbank erfasst wurden.
Spalte | Beschreibung |
---|---|
WorkflowInstanceInternalId |
Eindeutige interne ID, die der Workflowinstanz von der Datenbank zugeordnet wird. Die ID wird als Fremdschlüssel verwendet, um andere Tabellen in der Datenbank zu verknüpfen. |
WorkflowInstanceId |
GUID der Workflowinstanz. |
ContextGuid |
Kontextinformationen zu dieser Workflowinstanz. |
CallerInstanceId |
ID der Workflowinstanz, von der diese Workflowinstanz aufgerufen wurde. |
CallPath |
Vollständiger Aufrufpfad, der beim Aufruf der Workflowinstanz durch eine Workflowinstanz verwendet wird, die wiederum von einer anderen Workflowinstanz aufgerufen wird. |
CallerContextGuid |
Kontextinformationen zum Aufrufenden. |
CallerParentContextGuid |
Kontextinformationen zur übergeordneten Workflowinstanz der aufrufenden Instanz. |
WorkflowTypeId |
Verknüpfung zur Workflowtabelle mithilfe der Workflowtyp-ID. |
InitializedDateTime |
Datum und Uhrzeit der Initialisierung der Workflowinstanz. |
CreatedDateTime |
Datum und Zeit der Erstellung der Workflowinstanz. |
DbInitializedDateTime |
Datenbankdatum und -zeit, an dem bzw. zu der der Workflowinstanz-Datensatz initialisiert wurde. |
EndDateTime |
Datum und Zeit des Abschlusses bzw. der Beendigung der Workflowinstanz. |
DbEndDateTime |
Datenbankdatum und -zeit, an dem bzw. zu der der Workflowinstanz-Datensatz übertragen wurde. |
ActivityInstance
Die ActivityInstance-Tabelle wird zum Speichern der Instanzen von verfolgten Aktivitäten verwendet. Es gibt eine m:1-Beziehung von dieser Tabelle zur WorkflowInstance-Tabelle.
Spalte | Beschreibung |
---|---|
WorkflowInstanceInternalId |
Interne Datenbank-ID der Workflowinstanz, zu der die Aktivität gehört. |
ActivityInstanceId |
Eindeutige ID der Aktivität, die für eine angegebene Workflowinstanz verfolgt wird. |
QualifiedName |
Qualifizierter Name der Aktivität in der Workflowdefinition. |
ContextGuid |
Kontext der Aktivität. |
ParentContextGuid |
Kontext der übergeordneten Aktivität. |
WorkflowInstanceEventId |
Eindeutige ID für den Ereignisdatensatz der Workflowinstanz. |
ActivityExecutionStatusEvent
In der ActivityExecutionStatusEvent-Tabelle werden die unterschiedlichen Zustände, die eine Aktivität in ihrem Lebenszyklus durchlaufen hat, gespeichert. Für eine angegebene Aktivität in einer gegebenen Workflowinstanz kann es mehrere Aktivitätszustände geben. Nur ein Zustand ist der aktuelle.
Spalte | Beschreibung |
---|---|
ActivityExecutionStatusEventId |
Eindeutige ID für einen Statusdatensatz der Aktivitätsausführung. |
WorkflowInstanceInternalId |
Interne Datenbank-ID der Workflowinstanz, zu der die Aktivität gehört. |
EventOrder |
Reihenfolge, in der das Ereignis aufgetreten ist. |
ActivityInstanceId |
Eindeutige ID der Aktivität, für die der Status aufgezeichnet wird. |
ExecutionStatusId |
Verknüpfung zur ActivityExecutionStatus-Tabelle, in der die anderen Statusbeschreibungen gespeichert werden. |
EventDateTime |
Datum und Zeit, an dem bzw. zu der das Ereignis aufgetreten ist. |
DbEventDateTime |
Datenbankdatum und -zeit, an dem bzw. zu der das Ereignis aufgetreten ist. |
ActivityExecutionStatus
Die ActivityExecutionStatus-Tabelle ist eine Verweistabelle, in der die literalen Werte aller Ausführungszustände, die bei einer Aktivität auftreten können, gespeichert werden.
Spalte | Beschreibung |
---|---|
ExecutionStatusId |
Eindeutige ID des Status. |
Beschreibung |
Literaler Wert des Status. |
TrackingDataItem
Für jeden Aktivitätszustand wird in der TrackingDataItem-Tabelle ein Satz datenähnlicher Variablen, Eigenschaften usw. gespeichert, falls diese Elemente von SqlTrackingService verfolgt werden (entsprechend der Angabe des Verfolgungsprofils). Mit dem Verfolgungsprofil können die Workflowattribute angegeben werden, die verfolgt werden müssen, wenn eine bestimmte Aktivität einen bestimmten Status erreicht.
Spalte | Beschreibung |
---|---|
TrackingDataItemId |
Eindeutige ID, die den Datensatz eines angegebenen Artefakts für einen bestimmten Status einer Aktivität darstellt, die zu einer bestimmten workflowInstance gehört. |
WorkflowInstanceInternalId |
Interne Datenbank-ID für die Workflowinstanz. |
EventId |
Ereignis-ID, aus der das Verfolgungsdatenelement extrahiert wurde. |
EventTypeId |
Typ des Ereignisses, aus dem das Verfolgungsdatenelement extrahiert wurde. |
FieldName |
Name der verfolgten Variable (Datenelement). |
FieldTypeId |
Typ-ID der verfolgten Variablen (Datenelement). Damit wird auf die Typtabelle verwiesen. |
Data_Str |
Zeichenfolgenwert der verfolgten Daten (sofern es sich um einen primitiven Typ handelt, der in eine Zeichenfolge konvertiert werden kann). |
Data_Blob |
BLOB (Binary Large Object)-Wert des Werts der verfolgten Daten (sofern es sich um einen nicht primitiven Typ handelt und eine binäre Serialisierung möglich ist). |
DataNonSerializable |
Gibt an, dass Daten vorhanden waren, die jedoch nicht in eine Zeichenfolge konvertiert oder binär serialisiert werden konnten. |
TrackingDataItemAnnotation
In der TrackingDataItemAnnotation-Tabelle werden alle Anmerkungen gespeichert, die im Workflow für ein angegebenes Verfolgungsdatenelement gemacht werden. Die Anmerkungen werden vom Verfolgungsprofil angegeben.
Spalte | Beschreibung |
---|---|
TrackingDataItemId |
ID des Verfolgungsdatenelements, für das die Anmerkung gespeichert wird. |
WorkflowInstanceInternalId |
Interne Datenbank-ID für die Workflowinstanz. |
Anmerkung |
Literaler Wert der Anmerkung. |
EventAnnotation
In der EventAnnotation-Tabelle wird jede Anmerkung, die Workflowereignissen zugeordnet ist, gespeichert.
Spalte | Beschreibung |
---|---|
WorkflowInstanceInternalId |
Interne Datenbank-ID für die Workflowinstanz. |
EventId |
Interne Datenbank-ID für das Ereignis, in dem die Anmerkung verfasst wurde. |
EventTypeId |
Interne Datenbank-ID für den Typ des Ereignisses. |
Anmerkung |
Literaler Wert der Anmerkung. |
WorkflowInstanceEvent
In der WorkflowInstanceEvent-Tabelle werden die anderen Ereignisse, die ein Workflow in seinen Lebenszyklus durchlaufen hat, gespeichert. Für eine angegebene Workflowinstanz können mehrere Ereignisse vorhanden sein; allerdings ist nur eines davon das aktuelle Ereignis.
Spalte | Beschreibung |
---|---|
WorkflowInstanceEventId |
Eindeutige ID für den Ereignisdatensatz der Workflowinstanz. |
WorkflowInstanceInternalId |
Interne Datenbank-ID der Workflowinstanz, zu der die Aktivität gehört. |
EventDateTime |
Datum und Zeit, an dem bzw. zu der das Ereignis aufgetreten ist. |
EventOrder |
Reihenfolge, in der das Ereignis aufgetreten ist. |
EventArgTypeId |
Interne Datenbank-ID für den Datentyp der Ereignisargumente |
EventArg |
Binäre serialisierte Daten der Ereignisargumente |
DbEventDateTime |
Datenbankdatum und -zeit, an dem bzw. zu der das Ereignis aufgetreten ist. |
TrackingWorkflowEvent
In der TrackingWorkflowEvent-Tabelle werden die literalen Werte aller Ereignisse, die ein Workflow durchlaufen kann, gespeichert.
Spalte | Beschreibung |
---|---|
TrackingWorkflowEventId |
Eindeutige ID des Ereignisses. |
Beschreibung |
Literaler Wert des Ereignisses. |
UserEvent
In der UserEvent-Tabelle werden die anderen Ereignisse, die ausgegeben und anhand benutzerdefinierter Benutzerverfolgungspunkte verfolgt werden, gespeichert. Eine angegebene Workflowinstanz kann über mehrere Benutzerereignisse verfügen.
Spalte | Beschreibung |
---|---|
UserEventId |
Eindeutige ID des Benutzerereignisses. |
WorkflowInstanceInternalId |
Interne Datenbank-ID der Workflowinstanz, zu der die Aktivität gehört. |
EventOrder |
Reihenfolge, in der das Ereignis aufgetreten ist. |
ActivityInstanceId |
Eindeutige ID der Aktivität, in der das Benutzerereignis aufgetreten ist (dabei erscheint der Code, der das Ereignis ausgibt, im Workflowcode). |
EventDateTime |
Datum und Zeit, an dem bzw. zu der das Ereignis aufgetreten ist. |
UserDataKey |
Schlüsselwert, der im Benutzerereignis übergeben wurde (bei Verwendung der TrackData-Methode). |
UserDataTypeId |
Typ-ID in der Typtabelle der Benutzerdaten ein, die verfolgt werden. |
UserData_Str |
Zeichenfolgenwert der verfolgten Daten (sofern es sich um einen primitiven Typ handelt und eine Konvertierung in eine Zeichenfolge möglich ist). |
UserData_Blob |
BLOB (Binary Large Object)-Wert des Werts der verfolgten Daten (sofern es sich um einen nicht primitiven Typ handelt und eine binäre Serialisierung möglich ist). |
DataNonSerializable |
Gibt an, dass Daten vorhanden waren, die jedoch nicht in eine Zeichenfolge konvertiert oder binär serialisiert werden konnten. |
DbEventDateTime |
Datenbankdatum und -zeit, an dem bzw. zu der das Ereignis aufgetreten ist. |
AddedActivity
In der AddedActivity-Tabelle werden die Aktivitäten, die dem Workflow bei einer Änderung hinzugefügt werden, gespeichert. Bei jeder Workflowänderung können zahlreiche Aktivitäten hinzugefügt werden.
Spalte | Beschreibung |
---|---|
WorkflowInstanceInternalId |
Interne Datenbank-ID für die Workflowinstanz. |
WorkflowInstanceEventId |
Verweis auf das Ereignis der Workflowinstanz. |
QualifiedName |
Qualifizierter Name der Aktivität, die hinzugefügt wird. |
ActivityTypeId |
Verknüpfung zur Typtabelle zur Angabe des Typ- und des Assemblynamens für die als Teil der dynamischen Änderung hinzugefügten Aktivität. |
ParentQualifiedName |
Qualifizierter Name der übergeordneten Aktivität, in der diese Aktivität enthalten ist. |
AddedActivityAction |
Serialisierter Wert des ActivityChangeAction-Objekts, das aus dem dynamischen Updateereignis erstellt wird |
Reihenfolge |
Reihenfolge, in der die Aktivität dem Workflow hinzugefügt wurde |
RemovedActivity
In der RemovedActivity-Tabelle werden alle Aktivitäten, die bei einer Workflowänderung entfernt wurden, gespeichert. Zahlreiche Aktivitäten können für jede Workflowänderung entfernt werden.
Spalte | Beschreibung |
---|---|
WorkflowInstanceInternalId |
Interne Datenbank-ID für die Workflowinstanz. |
WorkflowInstanceEventId |
Verweis auf das Ereignis der Workflowinstanz. |
QualifiedName |
Qualifizierter Name der Aktivität, die entfernt wurde. |
ParentQualifiedName |
Qualifizierter Name der übergeordneten Aktivität, in der diese Aktivität enthalten ist. |
RemovedActivityAction |
Serialisierter Wert des ActivityChangeAction-Objekts, das aus dem dynamischen Updateereignis erstellt wird |
Reihenfolge |
Reihenfolge, in der die Aktivität dem Workflow hinzugefügt wurde |
TrackingProfile
In der TrackingProfile-Tabelle wird das Verfolgungsprofil für einen angegebenen Workflowtyp gespeichert.
Spalte | Beschreibung |
---|---|
TrackingProfileId |
Eindeutige ID des Verfolgungsprofils. |
Version |
Version des Verfolgungsprofils, die der Version des Verfolgungsprofils entsprechen muss (TrackingProfile.Version oder Versionsattribut in der Verfolgungsprofil-XML) |
WorkflowTypeId |
Verknüpfung zur Typtabelle, in der der Typ- und der Assemblyname des Workflows gespeichert werden. |
TrackingProfileXml |
Verfolgungsprofil-XML. |
InsertDateTime |
Datum und Zeit, an dem bzw. zu der das Profil eingefügt wurde. |
TrackingProfileInstance
In der TrackingProfileInstance-Tabelle werden die bestimmten Workflowinstanzen zugeordneten Verfolgungsprofile gespeichert. Diese Vorgehensweise wird verwendet, wenn andere Profile für andere Workflowinstanzen verwendet werden.
Spalte | Beschreibung |
---|---|
InstanceId |
Interne ID der Workflowinstanz, für die das Verfolgungsprofil gespeichert wird. |
TrackingProfileXml |
Verfolgungsprofil-XML. |
UpdatedDateTime |
Datum und Zeit, an dem bzw. zu der das Update durchgeführt wurde. |
DefaultTrackingProfile
In der DefaultTrackingProfile-Tabelle wird das standardmäßige Verfolgungsprofil gespeichert. Ist ein Verfolgungsprofil keinem angegebenen Workflowtyp zugewiesen, wird das standardmäßige Verfolgungsprofil verwendet.
Spalte | Beschreibung |
---|---|
Version |
Versionsnummer des Verfolgungsprofils, die der Version des Verfolgungsprofils entsprechen muss (TrackingProfile.Version oder Versionsattribut in der Verfolgungsprofil-XML) |
TrackingProfileXml |
Verfolgungsprofil-XML. |
InsertDateTime |
Datum und Zeit, an dem bzw. zu der das Verfolgungsprofil eingefügt wurde. |
TrackingPartitionInterval
In der TrackingPartitionInterval-Tabelle wird das Partitionsintervall gespeichert, um Partitionierung für Datenpflege zu aktivieren. Dies tritt nur auf, wenn die PartitionOnCompletion-Eigenschaft der SqlTrackingService-Klasse auf true festgelegt ist. Der Standard ist monatlich ("m"). Sie können den Wert auf täglich ("d") oder jährlich ("y") festlegen.
Spalte | Beschreibung |
---|---|
Interval |
Intervall, in dem Sie die Tabellen partitionieren möchten. |
TrackingPartitionSetName
Die TrackingPartitionSetName-Tabelle beinhaltet Informationen zum Partitionssatznamen.
Spalte | Beschreibung |
---|---|
PartitionId |
Eindeutige ID der Partition. |
Name |
Name der Partition. |
CreatedDateTime |
Datum und Zeit, an dem bzw. zu der die Partition erstellt wurde. |
EndDateTime |
Datum und Zeit, an dem bzw. zu der Partition beendet wurde. |
PartitionInterval |
Partitionsintervall dieses bestimmten Satzes. |
Datenbankrollen des SQL-Überwachungsdiensts
tracking_writer
Dies ist die Rolle, mit der das Konto, das den Hostprozess ausführt, ausgeführt werden sollte. Die Rolle besitzt Berechtigungen zum Abrufen von Verfolgungsprofilen und zum Schreiben von Verfolgungsdaten.
tracking_reader
Konten in dieser Rolle können alle Daten anzeigen, diese jedoch nicht aktualisieren oder ändern. Benutzer in dieser Rolle besitzen zudem keinen Zugriff auf die zugrunde liegenden Tabellen.
tracking_profilereaderwriter
Diese Rolle ist für Benutzerkonten vorgesehen, die Profildaten ändern müssen.
Siehe auch
Referenz
Weitere Ressourcen
Simple Tracking Example
Allgemeine Referenz zu Windows Workflow Foundation
Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.