Schemat bazy danych stanów trwałych
W tym temacie opisano publiczne widoki obsługiwane przez magazyn wystąpień przepływu pracy SQL.
Widok wystąpień
Widok Wystąpienia zawiera ogólne informacje o wszystkich wystąpieniach przepływu pracy w bazie danych.
Nazwa kolumny | Typ kolumny | opis |
---|---|---|
InstanceId | Uniqueidentifier | Identyfikator wystąpienia przepływu pracy. |
PendingTimer | DateTime | Wskazuje, że przepływ pracy jest zablokowany w działaniu Opóźnienie i zostanie wznowiony po wygaśnięciu czasomierza. Ta wartość może mieć wartość null, jeśli przepływ pracy nie zostanie zablokowany podczas oczekiwania na wygaśnięcie czasomierza. |
CreationTime | DateTime | Wskazuje, kiedy przepływ pracy został utworzony. |
LastUpdatedTime | DateTime | Wskazuje czas ostatniego utrwalonego przepływu pracy w bazie danych. |
ServiceDeploymentId | BigInt | Działa jako klucz obcy w widoku [ServiceDeployments]. Jeśli bieżące wystąpienie przepływu pracy jest wystąpieniem usługi hostowanej w Internecie, ta kolumna ma wartość, w przeciwnym razie jest ustawiona wartość NULL. |
SuspensionExceptionName | Nvarchar(450) | Wskazuje typ wyjątku (np. InvalidOperationException), który spowodował wstrzymanie przepływu pracy. |
SuspensionReason | Nvarchar(max) | Wskazuje, dlaczego wystąpienie przepływu pracy zostało zawieszone. Jeśli wyjątek spowodował wstrzymanie wystąpienia, ta kolumna zawiera komunikat skojarzony z wyjątkiem. Jeśli wystąpienie zostało ręcznie zawieszone, ta kolumna zawiera określoną przez użytkownika przyczynę zawieszenia wystąpienia. |
ActiveBookmarks | Nvarchar(max) | Jeśli wystąpienie przepływu pracy jest bezczynne, ta właściwość wskazuje, na co zakładki wystąpienie jest zablokowane. Jeśli wystąpienie nie jest bezczynne, ta kolumna ma wartość NULL. |
CurrentMachine | Nvarchar(128) | Wskazuje nazwę komputera, na który obecnie jest załadowane wystąpienie przepływu pracy w pamięci. |
LastMachine | Nvarchar(450) | Wskazuje ostatni komputer, który załadował wystąpienie przepływu pracy. |
Executionstatus | Nvarchar(450) | Wskazuje bieżący stan wykonywania przepływu pracy. Możliwe stany obejmują wykonywanie, bezczynność, zamknięcie. |
Isinitialized | Bitowych | Wskazuje, czy wystąpienie przepływu pracy zostało zainicjowane. Zainicjowane wystąpienie przepływu pracy to wystąpienie przepływu pracy, które zostało utrwalone co najmniej raz. |
IsSuspended | Bitowych | Wskazuje, czy wystąpienie przepływu pracy zostało zawieszone. |
Iscompleted | Bitowych | Wskazuje, czy wystąpienie przepływu pracy zakończyło wykonywanie. Uwaga: jeśli właściwość InstanceCompletionAction jest ustawiona na DeleteAll, wystąpienia zostaną usunięte z widoku po zakończeniu. |
KodowanieOption | Tinyint | Opisuje kodowanie używane do serializacji właściwości danych. - 0 — brak kodowania - 1 – GzipStream |
ReadWritePrimitiveDataProperties | Varbinary(max) | Zawiera zserializowane właściwości danych wystąpienia, które zostaną dostarczone z powrotem do środowiska uruchomieniowego przepływu pracy po załadowaniu wystąpienia. Każda właściwość pierwotna jest natywnym typem CLR, co oznacza, że do deserializacji obiektu blob nie są potrzebne żadne specjalne zestawy. |
WriteOnlyPrimitiveDataProperties | Varbinary(max) | Zawiera właściwości danych wystąpienia serializowanego, które nie są dostarczane z powrotem do środowiska uruchomieniowego przepływu pracy po załadowaniu wystąpienia. Każda właściwość pierwotna jest natywnym typem CLR, co oznacza, że do deserializacji obiektu blob nie są potrzebne żadne specjalne zestawy. |
ReadWriteComplexDataProperties | Varbinary(max) | Zawiera właściwości danych wystąpienia serializowanego, które zostaną dostarczone z powrotem do środowiska uruchomieniowego przepływu pracy po załadowaniu wystąpienia. Deserializator wymaga znajomości wszystkich typów obiektów przechowywanych w tym obiekcie blob. |
WriteOnlyComplexDataProperties | Varbinary(max) | Zawiera właściwości danych wystąpienia serializowanego, które nie są dostarczane z powrotem do środowiska uruchomieniowego przepływu pracy po załadowaniu wystąpienia. Deserializator wymaga znajomości wszystkich typów obiektów przechowywanych w tym obiekcie blob. |
IdentityName | Nvarchar(max) | Nazwa definicji przepływu pracy. |
IdentityPackage | Nvarchar(max) | Informacje o pakiecie podane podczas tworzenia przepływu pracy (na przykład nazwa zestawu). |
Tworzenie | BigInt | Numer kompilacji wersji przepływu pracy. |
Główna | BigInt | Główna liczba wersji przepływu pracy. |
Mały | BigInt | Pomocnicza liczba wersji przepływu pracy. |
Wersja | BigInt | Numer poprawki wersji przepływu pracy. |
Uwaga
Widok Wystąpienia zawiera również wyzwalacz Usuwania. Użytkownicy z odpowiednimi uprawnieniami mogą wykonywać instrukcje usuwania względem tego widoku, które wymuszają usunięcie wystąpień przepływu pracy z bazy danych. Zalecamy usunięcie bezpośrednio z widoku tylko w ostateczności, ponieważ usunięcie wystąpienia z poziomu środowiska uruchomieniowego przepływu pracy może spowodować niezamierzone konsekwencje. Zamiast tego użyj punktu końcowego zarządzania wystąpieniami przepływu pracy, aby środowisko uruchomieniowe przepływu pracy zakończyło wystąpienie. Jeśli chcesz usunąć dużą liczbę wystąpień z widoku, upewnij się, że nie ma aktywnych środowisk uruchomieniowych, które mogą działać w tych wystąpieniach.
Widok serviceDeployments
Widok ServiceDeployments zawiera informacje o wdrożeniu dla wszystkich usług przepływu pracy hostowanych w sieci Web (IIS/WAS). Każde wystąpienie przepływu pracy hostowane w sieci Web będzie zawierać identyfikator ServiceDeploymentId odwołujący się do wiersza w tym widoku.
Nazwa kolumny | Typ kolumny | opis |
---|---|---|
ServiceDeploymentId | BigInt | Klucz podstawowy dla tego widoku. |
Nazwa witryny | Nvarchar(max) | Reprezentuje nazwę witryny zawierającej usługę przepływu pracy (np. domyślną witrynę sieci Web). |
RelativeServicePath | Nvarchar(max) | Reprezentuje ścieżkę wirtualną względem lokacji, która wskazuje usługę przepływu pracy. (np. /app1/PurchaseOrderService.svc). |
RelativeApplicationPath | Nvarchar(max) | Reprezentuje ścieżkę wirtualną względem lokacji, która wskazuje aplikację zawierającą usługę przepływu pracy. (np. /app1). |
ServiceName | Nvarchar(max) | Reprezentuje nazwę usługi przepływu pracy. (np. PurchaseOrderService). |
ServiceNamespace | Nvarchar(max) | Reprezentuje przestrzeń nazw usługi przepływu pracy. (np. MyCompany). |
Widok serviceDeployments zawiera również wyzwalacz Usuwania. Użytkownicy z odpowiednimi uprawnieniami mogą wykonywać instrukcje usuwania względem tego widoku, aby usunąć wpisy serviceDeployment z bazy danych. Należy pamiętać, że:
Usunięcie wpisów z tego widoku jest kosztowne, ponieważ cała baza danych musi być zablokowana przed wykonaniem tej operacji. Jest to konieczne, aby uniknąć scenariusza, w którym wystąpienie przepływu pracy może odwoływać się do nieistniejącego wpisu ServiceDeployment. Usuń z tego widoku tylko w godzinach pracy/oknach obsługi.
Każda próba usunięcia wiersza serviceDeployment, który jest przywoływany przez wpisy w widoku Wystąpienia , spowoduje brak operacji. Wiersze usługi ServiceDeployment można usuwać tylko z odwołaniami zerowymi.
Widok InstancePromotedProperties
Widok InstancePromotedPromotedProperties zawiera informacje dotyczące wszystkich promowanych właściwości określonych przez użytkownika. Promowana właściwość działa jako właściwość pierwszej klasy, której użytkownik może używać w zapytaniach do pobierania wystąpień. Na przykład użytkownik może dodać promocję PurchaseOrder, która zawsze przechowuje koszt zamówienia w kolumnie Value1 . Umożliwiłoby to użytkownikowi wykonywanie zapytań dotyczących wszystkich zamówień zakupu, których koszt przekracza określoną wartość.
Typ kolumny | Typ kolumny | opis |
---|---|---|
InstanceId | Uniqueidentifier | Identyfikator wystąpienia przepływu pracy |
KodowanieOption | Tinyint | Opisuje kodowanie używane do serializacji promowanych właściwości binarnych. - 0 — brak kodowania - 1 – GZipStream |
PromotionName | Nvarchar(400) | Nazwa promocji skojarzonej z tym wystąpieniem. Nazwa promocji jest wymagana do dodania kontekstu do kolumn ogólnych w tym wierszu. Na przykład wartość PromotionName of PurchaseOrder może wskazywać, że wartość Value1 zawiera koszt zamówienia, wartość Value2 zawiera nazwę klienta, który złożył zamówienie, wartość 3 zawiera adres klienta itd. |
Wartość[1–32] | Sqlvariant | Wartość[1–32] zawiera wartości, które można przechowywać w kolumnie SqlVariant. Pojedyncza promocja nie może zawierać więcej niż 32 sqlVariants. |
Wartość[33–64] | Varbinary(max) | Wartość[33–64] zawiera serializowane wartości. Na przykład wartość Value33 może zawierać plik JPEG zakupionego elementu. Pojedyncza promocja nie może zawierać więcej niż 32 właściwości binarnych |
Widok InstancePromotedPromotedProperties jest powiązany ze schematem, co oznacza, że użytkownicy mogą dodawać indeksy w co najmniej jednej kolumnie, aby zoptymalizować zapytania względem tego widoku.
Uwaga
Widok indeksowany wymaga większej ilości miejsca do magazynowania i dodaje dodatkowe obciążenie związane z przetwarzaniem. Aby uzyskać więcej informacji, zobacz Poprawianie wydajności za pomocą indeksowanych widoków programu SQL Server 2008.