Dela via


Databasschema för beständighet

I det här avsnittet beskrivs de offentliga vyer som stöds av SQL Workflow Instance Store.

Instansvy

Vyn Instanser innehåller allmän information om alla arbetsflödesinstanser i databasen.

Kolumnnamn Kolumntyp beskrivning
InstanceId UniqueIdentifier ID för en arbetsflödesinstans.
PendingTimer Datum/tid Anger att arbetsflödet blockeras för en fördröjningsaktivitet och återupptas när timern upphör att gälla. Det här värdet kan vara null om arbetsflödet inte blockeras och väntar på att en timer ska upphöra att gälla.
CreationTime Datum/tid Anger när arbetsflödet skapades.
LastUpdatedTime Datum/tid Anger den senaste gången arbetsflödet sparades i databasen.
ServiceDeploymentId BigInt Fungerar som en sekundärnyckel till vyn [ServiceDeployments]. Om den aktuella arbetsflödesinstansen är en instans av en webbaserad tjänst har den här kolumnen ett värde, annars är den inställd på NULL.
SuspensionExceptionName Nvarchar(450) Anger vilken typ av undantag (t.ex. InvalidOperationException) som gjorde att arbetsflödet avbröts.
SuspensionReason Nvarchar(max) Anger varför arbetsflödesinstansen stängdes av. Om ett undantag gjorde att instansen avbröts innehåller den här kolumnen meddelandet som är associerat med undantaget.

Om instansen pausades manuellt innehåller den här kolumnen den användardefinierade orsaken till att instansen pausas.
ActiveBookmarks Nvarchar(max) Om arbetsflödesinstansen är Inaktiv anger den här egenskapen vilka bokmärken som instansen blockeras på. Om instansen inte är inaktiv är den här kolumnen NULL.
CurrentMachine Nvarchar(128) Anger att namnet på datorn för närvarande har arbetsflödesinstansen inläst i minnet.
LastMachine Nvarchar(450) Anger den senaste datorn som läste in arbetsflödesinstansen.
ExecutionStatus Nvarchar(450) Anger arbetsflödets aktuella körningstillstånd. Möjliga tillstånd är Kör, Inaktiv, Stängd.
IsInitialized Bitars Anger om arbetsflödesinstansen har initierats. En initierad arbetsflödesinstans är en arbetsflödesinstans som har sparats minst en gång.
IsSuspended Bitars Anger om arbetsflödesinstansen har inaktiverats.
IsCompleted Bitars Anger om arbetsflödesinstansen har körts klart. Obs! Om och endast om egenskapen InstanceCompletionAction är inställd på DeleteAll tas instanserna bort från vyn när den är klar.
KodningAlternativ Tinyint Beskriver den kodning som används för att serialisera dataegenskaperna.

- 0 – Ingen kodning
- 1 – GzipStream
ReadWritePrimitiveDataProperties Varbinary(max) Innehåller serialiserade instansdataegenskaper som kommer att tillhandahållas tillbaka till arbetsflödeskörningen när instansen läses in.

Varje primitiv egenskap är en intern CLR-typ, vilket innebär att inga särskilda sammansättningar behövs för att deserialisera bloben.
WriteOnlyPrimitiveDataProperties Varbinary(max) Innehåller serialiserade instansdataegenskaper som inte anges tillbaka till arbetsflödeskörningen när instansen läses in.

Varje primitiv egenskap är en intern CLR-typ, vilket innebär att inga särskilda sammansättningar behövs för att deserialisera bloben.
ReadWriteComplexDataProperties Varbinary(max) Innehåller serialiserade instansdataegenskaper som kommer att tillhandahållas tillbaka till arbetsflödeskörningen när instansen läses in.

En deserialiserare skulle kräva kunskap om alla objekttyper som lagras i den här bloben.
WriteOnlyComplexDataProperties Varbinary(max) Innehåller serialiserade instansdataegenskaper som inte anges tillbaka till arbetsflödeskörningen när instansen läses in.

En deserialiserare skulle kräva kunskap om alla objekttyper som lagras i den här bloben.
IdentityName Nvarchar(max) Namnet på arbetsflödesdefinitionen.
IdentityPackage Nvarchar(max) Paketinformationen som angavs när arbetsflödet skapades (till exempel sammansättningsnamnet).
Skapa BigInt Versionsnumret för arbetsflödesversionen.
Huvudversion BigInt Huvudnumret för arbetsflödesversionen.
Mindre BigInt Delnumret för arbetsflödesversionen.
Ändring BigInt Revisionsnumret för arbetsflödesversionen.

Varning

Vyn Instanser innehåller också en borttagningsutlösare. Användare med rätt behörighet kan köra borttagningsinstruktioner mot den här vyn som med kraft tar bort arbetsflödesinstanser från databasen. Vi rekommenderar att du tar bort direkt från vyn endast som en sista utväg eftersom borttagning av en instans under arbetsflödeskörningen kan leda till oavsiktliga konsekvenser. Använd i stället slutpunkten för hantering av arbetsflödesinstans för att låta arbetsflödeskörningen avsluta instansen. Om du vill ta bort ett stort antal instanser från vyn kontrollerar du att det inte finns några aktiva körningar som kan fungera på dessa instanser.

ServiceDeployments-vy

Vyn ServiceDeployments innehåller distributionsinformation för alla webbaserade arbetsflödestjänster (IIS/WAS). Varje arbetsflödesinstans som är webbaserad innehåller ett ServiceDeploymentId som refererar till en rad i den här vyn.

Kolumnnamn Kolumntyp beskrivning
ServiceDeploymentId BigInt Primärnyckeln för den här vyn.
Platsnamn Nvarchar(max) Representerar namnet på den webbplats som innehåller arbetsflödestjänsten (t.ex. standardwebbplats).
RelativeServicePath Nvarchar(max) Representerar den virtuella sökvägen i förhållande till den plats som pekar på arbetsflödestjänsten. (t.ex. /app1/PurchaseOrderService.svc).
RelativeApplicationPath Nvarchar(max) Representerar den virtuella sökvägen i förhållande till den plats som pekar på ett program som innehåller arbetsflödestjänsten. (t.ex. /app1).
ServiceName Nvarchar(max) Representerar namnet på arbetsflödestjänsten. (t.ex. PurchaseOrderService).
ServiceNamespace Nvarchar(max) Representerar namnområdet för arbetsflödestjänsten. (t.ex. MyCompany).

ServiceDeployments-vyn innehåller också en borttagningsutlösare. Användare med rätt behörighet kan köra borttagningsinstruktioner mot den här vyn för att ta bort ServiceDeployment-poster från databasen. Tänk på följande:

  1. Det är dyrt att ta bort poster från den här vyn eftersom hela databasen måste vara låst innan den här åtgärden utförs. Detta är nödvändigt för att undvika scenariot där en arbetsflödesinstans kan referera till en obefintlig ServiceDeployment-post. Ta endast bort från den här vyn under stilleståndstider/underhållsperioder.

  2. Alla försök att ta bort en ServiceDeployment-rad som refereras till av poster i vyn Instanser resulterar i en no-op. Du kan bara ta bort ServiceDeployment-rader med noll referenser.

Vyn InstancePromotedProperties

Vyn InstancePromotedProperties innehåller information om alla framhävda egenskaper som anges av användaren. En upphöjd egenskap fungerar som en förstklassig egenskap, som en användare kan använda i frågor för att hämta instanser. En användare kan till exempel lägga till en PurchaseOrder-kampanj som alltid lagrar kostnaden för en order i kolumnen Värde1 . Detta skulle göra det möjligt för en användare att fråga efter alla inköpsorder vars kostnad överstiger ett visst värde.

Kolumntyp Kolumntyp beskrivning
InstanceId UniqueIdentifier ID för arbetsflödesinstansen
KodningAlternativ Tinyint Beskriver den kodning som används för att serialisera de upphöjda binära egenskaperna.

- 0 – Ingen kodning
- 1 – GZipStream
PromotionName Nvarchar(400) Namnet på den kampanj som är associerad med den här instansen. PromotionName behövs för att lägga till kontext till de allmänna kolumnerna på den här raden.

Till exempel kan ett PromotionName för PurchaseOrder indikera att Value1 innehåller kostnaden för ordern, Value2 innehåller namnet på kunden som lade beställningen, värde 3 innehåller kundens adress och så vidare.
Värde[1–32] SqlVariant Value[1-32] innehåller värden som kan lagras i en SqlVariant-kolumn. En enskild befordran får inte innehålla fler än 32 SqlVariants.
Värde[33-64] Varbinary(max) Värdet[33-64] innehåller serialiserade värden. Till exempel kan Value33 innehålla en JPEG för ett objekt som köps. En enskild kampanj får inte innehålla fler än 32 binära egenskaper

Vyn InstancePromotedProperties är schemabunden, vilket innebär att användare kan lägga till index på en eller flera kolumner för att optimera frågor mot den här vyn.

Kommentar

En indexerad vy kräver mer lagringsutrymme och ytterligare bearbetningskostnader. Mer information finns i Förbättra prestanda med SQL Server 2008 Indexerade vyer .