Adatmegőrzési adatbázis sémája

Ez a témakör az SQL Workflow Instance Store által támogatott nyilvános nézeteket ismerteti.

Példányok nézet

A Példányok nézet általános információkat tartalmaz az adatbázis összes munkafolyamat-példányáról.

Oszlop neve Oszloptípus Leírás
InstanceId UniqueIdentifier Egy munkafolyamat-példány azonosítója.
PendingTimer DateTime Azt jelzi, hogy a munkafolyamat le van tiltva egy késleltetési tevékenységen, és az időzítő lejárta után folytatódik. Ez az érték null értékű lehet, ha a munkafolyamat nincs blokkolva az időzítő lejáratára várva.
Létrehozási idő DateTime Azt jelzi, hogy mikor jött létre a munkafolyamat.
LastUpdatedTime DateTime Azt jelzi, hogy a munkafolyamat utoljára mikor lett megőrzve az adatbázisban.
ServiceDeploymentId BigInt A [ServiceDeployments] nézet idegen kulcsaként működik. Ha az aktuális munkafolyamat-példány egy webszolgáltatás példánya, akkor ennek az oszlopnak értéke van, ellenkező esetben NULL értékre van állítva.
SuspensionExceptionName Nvarchar(450) Azt a kivételtípust jelzi (például InvalidOperationException), amely a munkafolyamat felfüggesztését okozta.
SuspensionReason Nvarchar(max) Azt jelzi, hogy miért függesztették fel a munkafolyamat-példányt. Ha egy kivétel miatt a példány fel volt függesztve, akkor ez az oszlop tartalmazza a kivételhez társított üzenetet.

Ha a példányt manuálisan felfüggesztették, akkor ez az oszlop tartalmazza a felhasználó által megadott okot a példány felfüggesztésére.
ActiveBookmarks Nvarchar(max) Ha a munkafolyamat-példány tétlen, ez a tulajdonság azt jelzi, hogy a példány mely könyvjelzőket blokkolja. Ha a példány nem tétlen, akkor ez az oszlop NULL értékű.
CurrentMachine Nvarchar(128) Azt jelzi, hogy a számítógépen jelenleg a munkafolyamat-példány van betöltve a memóriába.
LastMachine Nvarchar(450) Azt a számítógépet jelöli, amely betöltötte a munkafolyamat-példányt.
ExecutionStatus Nvarchar(450) A munkafolyamat aktuális végrehajtási állapotát jelzi. A lehetséges állapotok közé tartozik a végrehajtás, az inaktív állapot, a lezárt állapot.
IsInitialized Kicsit Azt jelzi, hogy a munkafolyamat-példány inicializálva lett-e. Az inicializált munkafolyamat-példány olyan munkafolyamat-példány, amely legalább egyszer megőrződött.
IsSuspended Kicsit Azt jelzi, hogy a munkafolyamat-példány fel lett-e függesztve.
IsCompleted Kicsit Azt jelzi, hogy a munkafolyamat-példány befejeződött-e. Megjegyzés: Ha és csak akkor, ha az InstanceCompletionAction tulajdonság a DeleteAll értékre van állítva, a példányok a befejezéskor törlődnek a nézetből.
EncodingOption TinyInt Az adattulajdonságok szerializálásához használt kódolást ismerteti.

– 0 – Nincs kódolás
- 1 – GzipStream
ReadWritePrimitiveDataProperties Varbinary(max) Szerializált példány adattulajdonságokat tartalmaz, amelyeket a rendszer a példány betöltésekor a munkafolyamat futtatókörnyezetének ad vissza.

Minden primitív tulajdonság natív CLR-típus, ami azt jelenti, hogy nincs szükség speciális szerelvényekre a blob deszerializálásához.
WriteOnlyPrimitiveDataProperties Varbinary(max) Szerializált példány adattulajdonságokat tartalmaz, amelyeket a rendszer nem ad vissza a munkafolyamat-futtatókörnyezetnek a példány betöltésekor.

Minden primitív tulajdonság natív CLR-típus, ami azt jelenti, hogy nincs szükség speciális szerelvényekre a blob deszerializálásához.
ReadWriteComplexDataProperties Varbinary(max) Szerializált példány adattulajdonságokat tartalmaz, amelyeket a rendszer a példány betöltésekor a munkafolyamat-futtatókörnyezetnek ad vissza.

A deszerializálók használatához ismerni kell az ebben a blobban tárolt összes objektumtípust.
WriteOnlyComplexDataProperties Varbinary(max) Szerializált példány adattulajdonságokat tartalmaz, amelyeket a rendszer nem ad vissza a munkafolyamat-futtatókörnyezetnek a példány betöltésekor.

A deszerializálók használatához ismerni kell az ebben a blobban tárolt összes objektumtípust.
IdentityName Nvarchar(max) A munkafolyamat-definíció neve.
IdentityPackage Nvarchar(max) A munkafolyamat létrehozásakor megadott csomaginformációk (például a szerelvény neve).
Build BigInt A munkafolyamat-verzió buildszáma.
BigInt A munkafolyamat-verzió fő száma.
Kisebb BigInt A munkafolyamat-verzió kis száma.
Változat BigInt A munkafolyamat verziójának változatszáma.

Figyelem

A Példányok nézet törlési eseményindítót is tartalmaz. A megfelelő engedélyekkel rendelkező felhasználók olyan törlési utasításokat hajthatnak végre ezen a nézetben, amelyek kényszerítetten eltávolítják a munkafolyamat-példányokat az adatbázisból. Javasoljuk, hogy csak végső megoldásként törölje közvetlenül a nézetből, mert ha töröl egy példányt a munkafolyamat-futtatókörnyezet alól, az nem kívánt következményekkel járhat. Ehelyett a munkafolyamat-példányok felügyeleti végpontjának használatával állítsa le a munkafolyamat-futtatókörnyezet a példányt. Ha nagyszámú példányt szeretne törölni a nézetből, győződjön meg arról, hogy nincsenek olyan aktív futtatókörnyezetek, amelyek ezeken a példányokon működnének.

ServiceDeployments nézet

A ServiceDeployments nézet az összes webes (IIS/WAS) munkafolyamat-szolgáltatás üzembehelyezési adatait tartalmazza. Minden webalapú munkafolyamat-példány tartalmaz egy ServiceDeploymentId azonosítót, amely a nézetben egy sorra hivatkozik.

Oszlop neve Oszloptípus Leírás
ServiceDeploymentId BigInt A nézet elsődleges kulcsa.
SiteName Nvarchar(max) A munkafolyamat-szolgáltatást tartalmazó webhely nevét jelöli (például alapértelmezett webhely).
RelativeServicePath Nvarchar(max) A munkafolyamat-szolgáltatásra mutató webhelyhez viszonyított virtuális elérési utat jelöli. (például /app1/PurchaseOrderService.svc).
RelativeApplicationPath Nvarchar(max) A munkafolyamat-szolgáltatást tartalmazó alkalmazásra mutató helyhez viszonyított virtuális elérési utat jelöli. (pl. /app1).
ServiceName Nvarchar(max) A munkafolyamat-szolgáltatás nevét jelöli. (pl. PurchaseOrderService).
ServiceNamespace Nvarchar(max) A munkafolyamat-szolgáltatás névterét jelöli. (pl. Saját vállalat).

A ServiceDeployments nézet törlési eseményindítót is tartalmaz. A megfelelő engedélyekkel rendelkező felhasználók törlési utasításokat hajthatnak végre ezen a nézetben a ServiceDeployment-bejegyzések adatbázisból való eltávolításához. Note that:

  1. A nézetben lévő bejegyzések törlése költséges, mivel a művelet végrehajtása előtt a teljes adatbázist zárolni kell. Ez azért szükséges, hogy elkerülje azt a forgatókönyvet, amelyben a munkafolyamat-példányok nem létező ServiceDeployment bejegyzésre hivatkozhatnak. Ebből a nézetből csak a leállás/karbantartási időszakok alatt törölhető.

  2. A Példányok nézetben lévő bejegyzések által hivatkozott ServiceDeployment sor törlésére tett kísérletek nem fognak eljárni. Csak nulla hivatkozással rendelkező ServiceDeployment sorokat törölhet.

InstancePromotedProperties nézet

Az InstancePromotedProperties nézet információkat tartalmaz a felhasználó által megadott összes előléptetett tulajdonságról. Az előléptetett tulajdonság első osztályú tulajdonságként működik, amelyet a felhasználók a lekérdezésekben használhatnak a példányok lekéréséhez. Egy felhasználó például hozzáadhat egy PurchaseOrder-előléptetést, amely mindig az Érték1 oszlopban tárolja a rendelés költségét. Ez lehetővé teszi, hogy a felhasználó lekérdezhesse az összes olyan beszerzési rendelést, amelynek költsége meghaladja a megadott értéket.

Oszloptípus Oszloptípus Leírás
InstanceId UniqueIdentifier A munkafolyamat-példány azonosítója
EncodingOption TinyInt Az előléptetett bináris tulajdonságok szerializálásához használt kódolást ismerteti.

– 0 – Nincs kódolás
- 1 – GZipStream
PromotionLabel Nvarchar(400) A példányhoz társított promóció neve. A PromotionName elemre azért van szükség, hogy kontextust adjon hozzá a sor általános oszlopaihoz.

Például a PurchaseOrder promóciós neve azt jelezheti, hogy az Érték1 tartalmazza a rendelés költségét, az Érték2 a rendelést leadó ügyfél nevét, a 3. érték az ügyfél címét stb.
Érték[1-32] SqlVariant Az [1–32] érték sqlvariant oszlopban tárolható értékeket tartalmaz. Egyetlen előléptetés legfeljebb 32 SqlVariantot tartalmazhat.
Érték[33-64] Varbinary(max) Az érték[33–64] szerializált értékeket tartalmaz. A Value33 például egy megvásárolt elem JPEG-fájlját is tartalmazhatja. Egyetlen előléptetés legfeljebb 32 bináris tulajdonságot tartalmazhat

Az InstancePromotedProperties nézet séma szerint van kötve, ami azt jelenti, hogy a felhasználók indexeket adhatnak hozzá egy vagy több oszlophoz a lekérdezések ehhez a nézethez való optimalizálása érdekében.

Megjegyzés:

Az indexelt nézetek több tárterületet igényelnek, és további feldolgozási többletterhelést okoznak. További információért tekintse meg az SQL Server 2008 indexelt nézeteinek teljesítményének javítása című témakört.