????

Your IP : 3.144.82.191


Current Path : C:/Windows/Microsoft.NET/Framework64/v4.0.30319/SQL/en/
Upload File :
Current File : C:/Windows/Microsoft.NET/Framework64/v4.0.30319/SQL/en/Tracking_Schema.sql

��-- Copyright (c) Microsoft Corporation.  All rights reserved.



SET NOCOUNT ON



declare @localized_string_AddWriterRole_Failed nvarchar(256)

set @localized_string_AddWriterRole_Failed = N'Failed adding the ''tracking_writer'' role'



DECLARE @ret int, @Error int

IF NOT EXISTS( SELECT 1 FROM [dbo].[sysusers] WHERE name=N'tracking_writer' and issqlrole=1 )

 BEGIN



	EXEC @ret = sp_addrole N'tracking_writer'



	SELECT @Error = @@ERROR



	IF @ret <> 0 or @Error <> 0

		RAISERROR( @localized_string_AddWriterRole_Failed, 16, -1 )

 END

GO



declare @localized_string_AddReaderRole_Failed nvarchar(256)

set @localized_string_AddReaderRole_Failed = N'Failed adding the ''tracking_reader'' role'



DECLARE @ret int, @Error int

IF NOT EXISTS( SELECT 1 FROM [dbo].[sysusers] WHERE name=N'tracking_reader' and issqlrole=1 )

 BEGIN



	EXEC @ret = sp_addrole N'tracking_reader'



	SELECT @Error = @@ERROR



	IF @ret <> 0 or @Error <> 0

		RAISERROR( @localized_string_AddReaderRole_Failed, 16, -1 )

 END

GO



declare @localized_string_AddProfileReaderWriterRole_Failed nvarchar(256)

set @localized_string_AddProfileReaderWriterRole_Failed = N'Failed adding the ''tracking_profilereaderwriter'' role'



DECLARE @ret int, @Error int

IF NOT EXISTS( SELECT 1 FROM [dbo].[sysusers] WHERE name=N'tracking_profilereaderwriter' and issqlrole=1 )

 BEGIN



	EXEC @ret = sp_addrole N'tracking_profilereaderwriter'



	SELECT @Error = @@ERROR



	IF @ret <> 0 or @Error <> 0

		RAISERROR( @localized_string_AddProfileReaderWriterRole_Failed, 16, -1 )

 END

GO



/*

		Drop Views

*/

IF OBJECT_ID('[dbo].[vw_TrackingPartitionSetName]') IS NOT NULL

	DROP VIEW [dbo].[vw_TrackingPartitionSetName]

GO



IF OBJECT_ID('[dbo].[vw_TrackingPartitionInterval]') IS NOT NULL

	DROP VIEW [dbo].[vw_TrackingPartitionInterval]

GO



IF OBJECT_ID('[dbo].[vw_TrackingProfileInstance]') IS NOT NULL

	DROP VIEW [dbo].[vw_TrackingProfileInstance]

GO



IF OBJECT_ID('[dbo].[vw_TrackingProfile]') IS NOT NULL

	DROP VIEW [dbo].[vw_TrackingProfile]

GO



IF OBJECT_ID('[dbo].[vw_DefaultTrackingProfile]') IS NOT NULL

	DROP VIEW [dbo].[vw_DefaultTrackingProfile]

GO



IF OBJECT_ID('[dbo].[vw_AddedActivity]') IS NOT NULL

	DROP VIEW [dbo].[vw_AddedActivity]

GO



IF OBJECT_ID('[dbo].[vw_RemovedActivity]') IS NOT NULL

	DROP VIEW [dbo].[vw_RemovedActivity]

GO



IF OBJECT_ID('[dbo].[vw_TrackingDataItemAnnotation]') IS NOT NULL

	DROP VIEW [dbo].[vw_TrackingDataItemAnnotation]

GO



IF OBJECT_ID('[dbo].[vw_EventAnnotation]') IS NOT NULL

	DROP VIEW [dbo].[vw_EventAnnotation]

GO



IF OBJECT_ID('[dbo].[vw_TrackingDataItem]') IS NOT NULL

	DROP VIEW [dbo].[vw_TrackingDataItem]

GO



IF OBJECT_ID('[dbo].[vw_ActivityExecutionStatusEvent]') IS NOT NULL

	DROP VIEW [dbo].[vw_ActivityExecutionStatusEvent]

GO



IF OBJECT_ID('[dbo].[vw_UserEvent]') IS NOT NULL

	DROP VIEW [dbo].[vw_UserEvent]

GO



IF OBJECT_ID('[dbo].[vw_ActivityInstance]') IS NOT NULL

	DROP VIEW [dbo].[vw_ActivityInstance]

GO



IF OBJECT_ID('[dbo].[vw_TrackingWorkflowEvent]') IS NOT NULL

	DROP VIEW [dbo].[vw_TrackingWorkflowEvent]

GO



IF OBJECT_ID('[dbo].[vw_WorkflowInstanceEvent]') IS NOT NULL

	DROP VIEW [dbo].[vw_WorkflowInstanceEvent]

GO



IF OBJECT_ID('[dbo].[vw_WorkflowInstance]') IS NOT NULL

	DROP VIEW [dbo].[vw_WorkflowInstance]

GO



IF OBJECT_ID('[dbo].[vw_Activity]') IS NOT NULL

	DROP VIEW [dbo].[vw_Activity]

GO



IF OBJECT_ID('[dbo].[vw_Workflow]') IS NOT NULL

	DROP VIEW [dbo].[vw_Workflow]

GO



IF OBJECT_ID('[dbo].[vw_Type]') IS NOT NULL

	DROP VIEW [dbo].[vw_Type]

GO



IF OBJECT_ID('[dbo].[vw_ActivityExecutionStatus]') IS NOT NULL

	DROP VIEW [dbo].[vw_ActivityExecutionStatus]

GO



/*

		Drop Tables

*/



IF OBJECT_ID('TrackingPartitionSetName') IS NOT NULL

	DROP TABLE dbo.TrackingPartitionSetName

GO



IF OBJECT_ID('TrackingPartitionInterval') IS NOT NULL

	DROP TABLE dbo.TrackingPartitionInterval

GO



IF OBJECT_ID('TrackingProfileInstance') IS NOT NULL

	DROP TABLE dbo.TrackingProfileInstance

GO



IF OBJECT_ID('TrackingProfile') IS NOT NULL

	DROP TABLE dbo.TrackingProfile

GO



IF OBJECT_ID('DefaultTrackingProfile') IS NOT NULL

	DROP TABLE dbo.DefaultTrackingProfile

GO



IF OBJECT_ID('[dbo].[AddedActivity]') IS NOT NULL

	DROP TABLE [dbo].[AddedActivity]

GO



IF OBJECT_ID('[dbo].[RemovedActivity]') IS NOT NULL

	DROP TABLE [dbo].[RemovedActivity]

GO



IF OBJECT_ID('TrackingDataItemAnnotation') IS NOT NULL

	DROP TABLE dbo.TrackingDataItemAnnotation

GO



IF OBJECT_ID('EventAnnotation') IS NOT NULL

	DROP TABLE dbo.EventAnnotation

GO



IF OBJECT_ID('TrackingDataItem') IS NOT NULL

	DROP TABLE dbo.TrackingDataItem

GO



IF OBJECT_ID('ActivityExecutionStatusEvent') IS NOT NULL

	DROP TABLE dbo.ActivityExecutionStatusEvent

GO



IF OBJECT_ID('UserEvent') IS NOT NULL

	DROP TABLE dbo.UserEvent

GO



IF OBJECT_ID('ActivityInstance') IS NOT NULL

	DROP TABLE dbo.ActivityInstance

GO



IF OBJECT_ID('TrackingWorkflowEvent') IS NOT NULL

	DROP TABLE [dbo].[TrackingWorkflowEvent]

GO



IF OBJECT_ID('WorkflowInstanceEvent') IS NOT NULL

	DROP TABLE [dbo].[WorkflowInstanceEvent]

GO



IF OBJECT_ID('WorkflowInstance') IS NOT NULL

	DROP TABLE dbo.WorkflowInstance

GO



IF OBJECT_ID('[dbo].[Activity]') IS NOT NULL

	DROP TABLE [dbo].[Activity]

GO



IF OBJECT_ID('[dbo].[Workflow]') IS NOT NULL

	DROP TABLE [dbo].[Workflow]

GO



IF OBJECT_ID('Type') IS NOT NULL

	DROP TABLE dbo.Type

GO



IF OBJECT_ID('ActivityExecutionStatus') IS NOT NULL

	DROP TABLE dbo.ActivityExecutionStatus

GO



/*

		Create Tables

*/

CREATE TABLE dbo.ActivityExecutionStatus

(

	[ExecutionStatusId]				tinyint NOT NULL

	,[Description]	nvarchar(128)

)

GO





INSERT dbo.ActivityExecutionStatus VALUES ( 0, N'Initialized' )

INSERT dbo.ActivityExecutionStatus VALUES ( 1, N'Executing' )

INSERT dbo.ActivityExecutionStatus VALUES ( 2, N'Canceling' )

INSERT dbo.ActivityExecutionStatus VALUES ( 3, N'Closed' )

INSERT dbo.ActivityExecutionStatus VALUES ( 4, N'Compensating' )

INSERT dbo.ActivityExecutionStatus VALUES ( 5, N'Faulting' )

GO





CREATE TABLE [dbo].[Type]

(

	[TypeId]						int				NOT NULL identity CONSTRAINT pk_Type_TypeId PRIMARY KEY CLUSTERED

	,[TypeFullName]					nvarchar(128)	NOT NULL

	,[AssemblyFullName]				nvarchar(256)	NOT NULL

	,[IsInstanceType]				bit				NOT NULL

)



CREATE UNIQUE NONCLUSTERED INDEX [idx_Type_TypeFullName_AssemblyFullName] ON [dbo].[Type]([TypeFullName],[AssemblyFullName]) WITH IGNORE_DUP_KEY

GO



CREATE TABLE [dbo].[Workflow]

(

	[WorkflowTypeId]			int					NOT NULL	CONSTRAINT [fk_Workflow_WorkflowTypeId_Type_TypeId] FOREIGN KEY REFERENCES dbo.Type(TypeId)

	,[WorkflowDefinition]		ntext				NULL

)



CREATE UNIQUE CLUSTERED INDEX [idx_Workflow_WorkflowTypeId] ON [dbo].[Workflow]([WorkflowTypeId]) WITH IGNORE_DUP_KEY

GO





CREATE TABLE [dbo].[Activity]

(

	[WorkflowTypeId]				int				NOT NULL	CONSTRAINT [fk_Workflow_WorkflowTypeId] FOREIGN KEY REFERENCES [dbo].[Workflow]([WorkflowTypeId])

	,[QualifiedName]					nvarchar(128)	NOT NULL

	,[ActivityTypeId]				int				NOT NULl

	,[ParentQualifiedName]			nvarchar(128)	NULL

)



CREATE NONCLUSTERED INDEX [idx_Activity_WorkflowTypeId] ON [dbo].[Activity]([WorkflowTypeId])

CREATE NONCLUSTERED INDEX [idx_Activity_QualifiedName] ON [dbo].[Activity]([QualifiedName])



ALTER TABLE [dbo].[Activity] ADD CONSTRAINT [pk_WorkflowTypeId_QualifiedName] PRIMARY KEY ([WorkflowTypeId],[QualifiedName])

GO





CREATE TABLE [dbo].[WorkflowInstance]

(

	[WorkflowInstanceInternalId] bigint				NOT NULL	identity CONSTRAINT [pk_WorkflowInstance_WorkflowInstanceInternalId] PRIMARY KEY CLUSTERED

	,[WorkflowInstanceId]		uniqueidentifier	NOT NULL

	,[ContextGuid]				uniqueidentifier	NOT NULL

	,[CallerInstanceId]			uniqueidentifier	NULL

	,[CallPath]					nvarchar(400)		NULL

	,[CallerContextGuid]		uniqueidentifier	NULL

	,[CallerParentContextGuid]	uniqueidentifier	NULL

	,[WorkflowTypeId]			int					NOT NULL

	,[InitializedDateTime]		datetime			NOT NULL

	,[DbInitializedDateTime]	datetime			NOT NULL default(getutcdate())

	,[EndDateTime]				datetime			NULL

	,[DbEndDateTime]			datetime			NULL

)



CREATE NONCLUSTERED INDEX [idx_WorkflowInstance_WorkflowInstanceId_ContextGuid] ON [dbo].[WorkflowInstance]([WorkflowInstanceId],[ContextGuid])

GO



CREATE TABLE [dbo].[ActivityInstance]

(

	[WorkflowInstanceInternalId]	bigint				NOT NULL

	,[ActivityInstanceId]			bigint				NOT NULL	identity CONSTRAINT [pk_ActivityInstance_ActivityInstanceId] PRIMARY KEY NONCLUSTERED

	,[QualifiedName]				nvarchar(128)		NOT NULL	

	,[ContextGuid]					uniqueidentifier	NOT NULL

	,[ParentContextGuid]			uniqueidentifier	NULL

	,[WorkflowInstanceEventId] 		bigint				NULL

)



CREATE CLUSTERED INDEX [idx_ActivityInstance_WorkflowInstanceInternalId] ON [dbo].[ActivityInstance]([WorkflowInstanceInternalId])



CREATE NONCLUSTERED INDEX [idx_ActivityInstance_WorkflowInstanceInternalId_QualifiedName_ContextGuid_ParentContextGuid] ON [dbo].[ActivityInstance]([WorkflowInstanceInternalId],[QualifiedName],[ContextGuid],[ParentContextGuid])



GO





CREATE TABLE [dbo].[ActivityExecutionStatusEvent]

(

	[ActivityExecutionStatusEventId]bigint			NOT NULL identity

	,[WorkflowInstanceInternalId]	bigint			NOT NULL	

	,[EventOrder]					int				NOT NULL

	,[ActivityInstanceId]			bigint			NOT NULL	

	,[ExecutionStatusId]			tinyint			NOT NULL

	,[EventDateTime]				datetime		NOT NULL

	,[DbEventDateTime]				datetime		NOT NULL default(getutcdate())

)



CREATE CLUSTERED INDEX [idx_ActivityExecutionStatusEvent_WorkflowInstanceInternalId] ON [dbo].[ActivityExecutionStatusEvent]([WorkflowInstanceInternalId])



GO





CREATE TABLE [dbo].[UserEvent]

(

	[UserEventId]					bigint			NOT NULL identity

	,[WorkflowInstanceInternalId]	bigint			NOT NULL	

	,[EventOrder]					int				NOT NULL

	,[ActivityInstanceId]			bigint			NOT NULL

	,[EventDateTime]				datetime		NOT NULL

	,[UserDataKey]					nvarchar(512)	NULL

	,[UserDataTypeId]				int				NULL

	,[UserData_Str]					nvarchar(512)	NULL

	,[UserData_Blob]				image			NULL

	,[UserDataNonSerializable]		bit				NOT NULL

	,[DbEventDateTime]				datetime		NOT NULL default(getutcdate())

)



CREATE CLUSTERED INDEX [idx_UserEvent_WorkflowInstanceInternalId] ON [dbo].[UserEvent]([WorkflowInstanceInternalId])



GO



CREATE TABLE [dbo].[TrackingWorkflowEvent]

(

	[TrackingWorkflowEventId]				tinyint			NOT NULL		CONSTRAINT [pk_TrackingWorkflowEvent_TrackingWorkflowEventId] PRIMARY KEY CLUSTERED

	,[Description]		nvarchar(32)	NOT NULL

)





INSERT [dbo].[TrackingWorkflowEvent] VALUES ( 0, N'Created' )

INSERT [dbo].[TrackingWorkflowEvent] VALUES ( 1, N'Completed' )

INSERT [dbo].[TrackingWorkflowEvent] VALUES ( 2, N'Idle' )

INSERT [dbo].[TrackingWorkflowEvent] VALUES ( 3, N'Suspended' )

INSERT [dbo].[TrackingWorkflowEvent] VALUES ( 4, N'Resumed' )

INSERT [dbo].[TrackingWorkflowEvent] VALUES ( 5, N'Persisted' )

INSERT [dbo].[TrackingWorkflowEvent] VALUES ( 6, N'Unloaded' )

INSERT [dbo].[TrackingWorkflowEvent] VALUES ( 7, N'Loaded' )

INSERT [dbo].[TrackingWorkflowEvent] VALUES ( 8, N'Exception' )

INSERT [dbo].[TrackingWorkflowEvent] VALUES ( 9, N'Terminated' )

INSERT [dbo].[TrackingWorkflowEvent] VALUES ( 10, N'Aborted' )

INSERT [dbo].[TrackingWorkflowEvent] VALUES ( 11, N'Changed' )

INSERT [dbo].[TrackingWorkflowEvent] VALUES ( 12, N'Started' )

        

GO



CREATE TABLE [dbo].[WorkflowInstanceEvent]

(

	[WorkflowInstanceEventId]		bigint			NOT NULL		identity CONSTRAINT [pk_WorkflowInstanceEvent_WorkflowInstanceEventId] PRIMARY KEY CLUSTERED

	,[WorkflowInstanceInternalId]	bigint			NOT NULL		

	,[TrackingWorkflowEventId]		tinyint			NOT NULL

	,[EventDateTime]				datetime		NOT NULL

	,[EventOrder]					int				NOT NULL

	,[EventArgTypeId]					int				NULL

	,[EventArg]							image			NULL

	,[DbEventDateTime]				datetime		NOT NULL default(getutcdate())

)



CREATE NONCLUSTERED INDEX [idx_WorkflowInstanceEvent_WorkflowInstanceInternalId] ON [dbo].[WorkflowInstanceEvent]([WorkflowInstanceInternalId])



GO



CREATE TABLE [dbo].[TrackingDataItem]

(

	[TrackingDataItemId]			bigint			NOT NULL	identity CONSTRAINT [pk_TrackingDataItem_TrackingDataItemId] PRIMARY KEY CLUSTERED 

	,[WorkflowInstanceInternalId]	bigint			NOT NULL

	,[EventId]						bigint			NOT NULL

	,[EventTypeId]					char(1)			NOT NULL

	,[FieldName]					nvarchar(256)	NOT NULL

	,[FieldTypeId]					int				NULL

	,[Data_Str]						nvarchar(512)	NULL

	,[Data_Blob]					image			NULL

	,[DataNonSerializable]			bit				NOT NULL

)



CREATE NONCLUSTERED INDEX [idx_TrackingDataItem_WorkflowInstanceInternalId_EventId_EventTypeId] ON [dbo].[TrackingDataItem]( [WorkflowInstanceInternalId], [EventId], [EventTypeId] )

GO





CREATE TABLE [dbo].[TrackingDataItemAnnotation]

(

	[TrackingDataItemId]			bigint			NOT NULL

	,[WorkflowInstanceInternalId]	bigint			NOT NULL

	,[Annotation]					nvarchar(1024)	NOT NULL		

)



CREATE NONCLUSTERED INDEX [idx_TrackingDataItemAnnotation_TrackingDataItemId] ON [dbo].[TrackingDataItemAnnotation]( [TrackingDataItemId] )

CREATE NONCLUSTERED INDEX [idx_TrackingDataItemAnnotation_WorkflowInstanceInternalId] ON [dbo].[TrackingDataItemAnnotation]( [WorkflowInstanceInternalId] )

GO



CREATE TABLE [dbo].[EventAnnotation]

(

	[WorkflowInstanceInternalId]	bigint			NOT NULL

	,[EventId]						bigint			NOT NULL

	,[EventTypeId]					char(1)			NOT NULL

	,[Annotation]					nvarchar(1024)	NULL		

)



CREATE CLUSTERED INDEX [idx_EventAnnotation_WorkflowInstanceInternalId] ON [dbo].[EventAnnotation]( [WorkflowInstanceInternalId] )



CREATE NONCLUSTERED INDEX [idx_EventAnnotation_EventId_EventTypeId] ON [dbo].[EventAnnotation]( [EventId], [EventTypeId] )

GO





CREATE TABLE [dbo].[AddedActivity]

(

	[WorkflowInstanceInternalId]	bigint				NOT NULL		

	,[WorkflowInstanceEventId]		bigint				NOT NULL

	,[QualifiedName]				nvarchar(128)		NOT NULL

	,[ActivityTypeId]				int					NOT NULl

	,[ParentQualifiedName]			nvarchar(128)		NULL

	,[AddedActivityAction]			nvarchar(2000)		NULL

	,[Order]						int					NULL

)



CREATE CLUSTERED INDEX [idx_AddedActivity_WorkflowInstanceInternalId] ON [dbo].[AddedActivity]([WorkflowInstanceInternalId])



CREATE NONCLUSTERED INDEX [idx_AddedActivity_WorkflowInstanceEventId] ON [dbo].[AddedActivity]([WorkflowInstanceEventId])

GO





CREATE TABLE [dbo].[RemovedActivity]

(

	[WorkflowInstanceInternalId]	bigint				NOT NULL		

	,[WorkflowInstanceEventId]		bigint				NOT NULL

	,[QualifiedName]				nvarchar(128)		NOT NULL

	,[ParentQualifiedName]			nvarchar(128)		NULL

	,[RemovedActivityAction]		nvarchar(2000)		NULL

	,[Order]						int					NULL

)



CREATE CLUSTERED INDEX [idx_RemovedActivity_WorkflowInstanceInternalId] ON [dbo].[RemovedActivity]([WorkflowInstanceInternalId])



CREATE NONCLUSTERED INDEX [idx_RemovedActivity_WorkflowInstanceEventId] ON [dbo].[RemovedActivity]([WorkflowInstanceEventId])

GO



CREATE TABLE [dbo].[TrackingPartitionInterval]

(

	[Interval]	char(1) -- Just leave this as a heap, clustering doesn't affect 

)



INSERT INTO [dbo].[TrackingPartitionInterval] ( [Interval] ) VALUES ( 'm' )

GO



CREATE TABLE [dbo].[TrackingPartitionSetName]

(

	[PartitionId]			int					NOT NULL	identity 		

	,[Name]					varchar(32)			NOT NULL

	,[CreatedDateTime]		datetime			NOT NULL	default(getutcdate())

	,[EndDateTime]			datetime			NULL

	,[PartitionInterval]	char(1)				NOT NULL

)

GO



CREATE TABLE [dbo].[TrackingProfile]

(

	[TrackingProfileId]		int					NOT NULL	identity

	,[Version]			varchar(32)			NOT NULL

	,[WorkflowTypeId]				int					NOT NULL	CONSTRAINT [fk_TrackingProfile_WorkflowTypeId] FOREIGN KEY REFERENCES [dbo].[Type]( [TypeId] )

	,[TrackingProfileXml]		ntext				NULL

	,[InsertDateTime]		datetime			NOT NULL	default(getutcdate())

)



CREATE UNIQUE CLUSTERED INDEX [pk_TrackingProfile_WorkflowTypeId_Version] ON [dbo].[TrackingProfile] ( [WorkflowTypeId], [Version] ) WITH IGNORE_DUP_KEY

GO





CREATE TABLE [dbo].[TrackingProfileInstance]

(

	[InstanceId]			uniqueidentifier	NOT NULL	CONSTRAINT pk_TrackingProfileInstance_InstanceId PRIMARY KEY NONCLUSTERED

	,[TrackingProfileXml]		ntext				NULL

	,[UpdatedDateTime]		datetime			NOT NULL	default(getutcdate())

)

GO





CREATE TABLE [dbo].[DefaultTrackingProfile]

(

	[Version]				varchar(32)			NOT NULL	CONSTRAINT pk_DefaultTrackingProfile_Version PRIMARY KEY CLUSTERED

	,[TrackingProfileXml]		ntext				NOT NULL	

	,[InsertDateTime]		datetime			NOT NULL	default(getutcdate())

)



GO



INSERT [dbo].[DefaultTrackingProfile] ( [Version], [TrackingProfileXml] )

VALUES (

'1.0.0',

N'<?xml version="1.0" encoding="utf-16" standalone="yes"?>

<TrackingProfile xmlns="http://schemas.microsoft.com/winfx/2006/workflow/trackingprofile" version="1.0.0">

    <TrackPoints>

        <ActivityTrackPoint>

            <MatchingLocations>

                <ActivityTrackingLocation>

                    <Activity>

                        <Type>System.Workflow.ComponentModel.Activity, System.Workflow.ComponentModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</Type>

                        <MatchDerivedTypes>true</MatchDerivedTypes>

                    </Activity>

                    <ExecutionStatusEvents>

                        <ExecutionStatus>Initialized</ExecutionStatus>

                        <ExecutionStatus>Executing</ExecutionStatus>

                        <ExecutionStatus>Compensating</ExecutionStatus>

                        <ExecutionStatus>Canceling</ExecutionStatus>

                        <ExecutionStatus>Closed</ExecutionStatus>

                        <ExecutionStatus>Faulting</ExecutionStatus>

                    </ExecutionStatusEvents>

                </ActivityTrackingLocation>

            </MatchingLocations>

        </ActivityTrackPoint>

		<WorkflowTrackPoint>

			<MatchingLocation>

				<WorkflowTrackingLocation>

					<TrackingWorkflowEvents>

						<TrackingWorkflowEvent>Created</TrackingWorkflowEvent>						

						<TrackingWorkflowEvent>Completed</TrackingWorkflowEvent>

						<TrackingWorkflowEvent>Idle</TrackingWorkflowEvent>

						<TrackingWorkflowEvent>Suspended</TrackingWorkflowEvent>

						<TrackingWorkflowEvent>Resumed</TrackingWorkflowEvent>

						<TrackingWorkflowEvent>Persisted</TrackingWorkflowEvent>

						<TrackingWorkflowEvent>Unloaded</TrackingWorkflowEvent>

						<TrackingWorkflowEvent>Loaded</TrackingWorkflowEvent>

						<TrackingWorkflowEvent>Exception</TrackingWorkflowEvent>

						<TrackingWorkflowEvent>Terminated</TrackingWorkflowEvent>

						<TrackingWorkflowEvent>Aborted</TrackingWorkflowEvent>

						<TrackingWorkflowEvent>Changed</TrackingWorkflowEvent>

						<TrackingWorkflowEvent>Started</TrackingWorkflowEvent>

					</TrackingWorkflowEvents>

				</WorkflowTrackingLocation>

			</MatchingLocation>

		</WorkflowTrackPoint>

        <UserTrackPoint>

            <MatchingLocations>

                <UserTrackingLocation>

                    <Activity>

                        <Type>System.Workflow.ComponentModel.Activity, System.Workflow.ComponentModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</Type>

                        <MatchDerivedTypes>true</MatchDerivedTypes>

                    </Activity>

                    <Argument>

                        <Type>System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</Type>

                        <MatchDerivedTypes>true</MatchDerivedTypes>

                    </Argument>

                </UserTrackingLocation>

            </MatchingLocations>

        </UserTrackPoint>

    </TrackPoints>

</TrackingProfile>' )



GO





CREATE VIEW [dbo].[vw_ActivityExecutionStatus]

AS

SELECT		[ExecutionStatusId]

			,[Description]

FROM		[dbo].[ActivityExecutionStatus]

GO



GRANT SELECT ON [dbo].[vw_ActivityExecutionStatus] TO tracking_reader

GO



CREATE VIEW [dbo].[vw_Type]

AS

SELECT		[TypeId]

			,[TypeFullName]

			,[AssemblyFullName]

			,[IsInstanceType]

FROM		[dbo].[Type]

GO



GRANT SELECT ON [dbo].[vw_Type] TO tracking_reader

GO



CREATE VIEW [dbo].[vw_Workflow]

AS

SELECT		[WorkflowTypeId]

			,[WorkflowDefinition]

FROM		[dbo].[Workflow]

GO



GRANT SELECT ON [dbo].[vw_Workflow] TO tracking_reader

GO



CREATE VIEW [dbo].[vw_Activity]

AS

SELECT		[WorkflowTypeId]

			,[QualifiedName]

			,[ActivityTypeId]

			,[ParentQualifiedName]

FROM 		[dbo].[Activity]

GO



GRANT SELECT ON [dbo].[vw_Workflow] TO tracking_reader

GO







CREATE VIEW [dbo].[vw_WorkflowInstance]

AS

SELECT		[WorkflowInstanceInternalId]

			,[WorkflowInstanceId]

			,[ContextGuid]

			,[CallerInstanceId]

			,[CallPath]

			,[CallerContextGuid]

			,[CallerParentContextGuid]

			,[WorkflowTypeId]

			,[InitializedDateTime]

			,[DbInitializedDateTime]

			,[EndDateTime]

			,[DbEndDateTime]

FROM		[dbo].[WorkflowInstance]

GO



GRANT SELECT ON [dbo].[vw_WorkflowInstance] TO tracking_reader

GO



CREATE VIEW [dbo].[vw_ActivityInstance]

AS

SELECT		[WorkflowInstanceInternalId]

			,[ActivityInstanceId]

			,[QualifiedName]

			,[ContextGuid]

			,[ParentContextGuid]

			,[WorkflowInstanceEventId]

FROM		[dbo].[ActivityInstance]

GO



GRANT SELECT ON [dbo].[vw_ActivityInstance] TO tracking_reader

GO



CREATE VIEW [dbo].[vw_ActivityExecutionStatusEvent]

AS

SELECT		[ActivityExecutionStatusEventId]

			,[WorkflowInstanceInternalId]

			,[EventOrder]				

			,[ActivityInstanceId]		

			,[ExecutionStatusId]					

			,[EventDateTime]					

			,[DbEventDateTime]

FROM		[dbo].[ActivityExecutionStatusEvent]

GO



GRANT SELECT ON [dbo].[vw_ActivityExecutionStatusEvent] TO tracking_reader

GO



CREATE VIEW [dbo].[vw_TrackingWorkflowEvent]

AS

SELECT		[TrackingWorkflowEventId]

			,[Description]

FROM		[dbo].[TrackingWorkflowEvent]

GO



GRANT SELECT ON [dbo].[vw_TrackingWorkflowEvent] TO tracking_reader

GO



CREATE VIEW [dbo].[vw_WorkflowInstanceEvent]

AS

SELECT		[WorkflowInstanceEventId]	

			,[WorkflowInstanceInternalId]

			,[TrackingWorkflowEventId]

			,[EventDateTime]	

			,[EventOrder]		

			,[EventArgTypeId]		

			,[EventArg]					

			,[DbEventDateTime]	

FROM		[dbo].[WorkflowInstanceEvent]

GO





CREATE VIEW [dbo].[vw_UserEvent]

AS

SELECT		[UserEventId]

			,[WorkflowInstanceInternalId]

			,[EventOrder]

			,[ActivityInstanceId]

			,[EventDateTime]

			,[UserDataKey]

			,[UserDataTypeId]

			,[UserData_Str]

			,[UserData_Blob]

			,[UserDataNonSerializable]					

			,[DbEventDateTime]

FROM		[dbo].[UserEvent]

GO



GRANT SELECT ON [dbo].[vw_UserEvent] TO tracking_reader

GO





GRANT SELECT ON [dbo].[vw_WorkflowInstanceEvent] TO tracking_reader

GO



CREATE VIEW [dbo].[vw_TrackingDataItem]

AS

SELECT		[TrackingDataItemId]

			,[WorkflowInstanceInternalId]

			,[EventId]

			,[EventTypeId]

			,[FieldName]

			,[FieldTypeId]

			,[Data_Str]

			,[Data_Blob]

			,[DataNonSerializable]

FROM		[dbo].[TrackingDataItem]

GO



GRANT SELECT ON [dbo].[vw_TrackingDataItem] TO tracking_reader

GO





CREATE VIEW [dbo].[vw_TrackingDataItemAnnotation]

AS

SELECT		[TrackingDataItemId]

			,[WorkflowInstanceInternalId]

			,[Annotation]

FROM		[dbo].[TrackingDataItemAnnotation]

GO



GRANT SELECT ON [dbo].[vw_TrackingDataItemAnnotation] TO tracking_reader

GO





CREATE VIEW [dbo].[vw_EventAnnotation]

AS

SELECT		[WorkflowInstanceInternalId]

			,[EventId]

			,[EventTypeId]

			,[Annotation]

FROM		[dbo].[EventAnnotation]

GO



GRANT SELECT ON [dbo].[vw_EventAnnotation] TO tracking_reader

GO



CREATE VIEW [dbo].[vw_AddedActivity]

AS

SELECT		[WorkflowInstanceInternalId]

			,[WorkflowInstanceEventId]

			,[QualifiedName]

			,[ActivityTypeId]

			,[ParentQualifiedName]

			,[AddedActivityAction]

			,[Order]

FROM		[dbo].[AddedActivity]

GO



GRANT SELECT ON [dbo].[vw_AddedActivity] TO tracking_reader

GO



CREATE VIEW [dbo].[vw_RemovedActivity]

AS

SELECT		[WorkflowInstanceInternalId]

			,[WorkflowInstanceEventId]

			,[QualifiedName]

			,[ParentQualifiedName]

			,[RemovedActivityAction]

			,[Order]

FROM		[dbo].[RemovedActivity]

GO



GRANT SELECT ON [dbo].[vw_RemovedActivity] TO tracking_reader

GO



CREATE VIEW [dbo].[vw_TrackingProfile]

AS

SELECT		[TrackingProfileId]

			,[Version]

			,[WorkflowTypeId]

			,[TrackingProfileXml]

			,[InsertDateTime]

FROM		[dbo].[TrackingProfile]

GO



GRANT SELECT ON [dbo].[vw_TrackingProfile] TO tracking_reader

GO



CREATE VIEW [dbo].[vw_TrackingProfileInstance]

AS

SELECT		[InstanceId]

			,[TrackingProfileXml]

			,[UpdatedDateTime]

FROM		[dbo].[TrackingProfileInstance]

GO



GRANT SELECT ON [dbo].[vw_TrackingProfileInstance] TO tracking_reader

GO



CREATE VIEW [dbo].[vw_DefaultTrackingProfile]

AS

SELECT		[Version]

			,[TrackingProfileXml]

			,[InsertDateTime]

FROM		[dbo].[DefaultTrackingProfile]

GO



GRANT SELECT ON [dbo].[vw_DefaultTrackingProfile] TO tracking_reader

GO





CREATE VIEW [dbo].[vw_TrackingPartitionInterval]

AS

SELECT		[Interval]

FROM		[dbo].[TrackingPartitionInterval]

GO



GRANT SELECT ON [dbo].[vw_TrackingPartitionInterval] TO tracking_reader

GO



CREATE VIEW [dbo].[vw_TrackingPartitionSetName]

AS

SELECT		[PartitionId]

			,[Name]

			,[CreatedDateTime]

			,[EndDateTime]

			,[PartitionInterval]

FROM		[TrackingPartitionSetName]

GO



GRANT SELECT ON [dbo].[vw_TrackingPartitionSetName] TO tracking_reader

GO