????
Your IP : 3.15.20.220
��-- 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