Esquema de banco de dados de persistência
Este tópico descreve as exibições públicas suportadas pelo Repositório de Instâncias de Fluxo de Trabalho SQL.
Visualização de instâncias
A exibição Instâncias contém informações gerais sobre todas as instâncias de fluxo de trabalho no banco de dados.
Nome da Coluna | Tipo de coluna | Description |
---|---|---|
InstanceId | UniqueIdentifier | A ID de uma instância de fluxo de trabalho. |
PendingTimer | DateTime | Indica que o fluxo de trabalho está bloqueado em uma atividade de Atraso e será retomado depois que o temporizador expirar. Esse valor pode ser nulo se o fluxo de trabalho não estiver bloqueado aguardando a expiração de um temporizador. |
CreationTime | DateTime | Indica quando o fluxo de trabalho foi criado. |
LastUpdatedTime | DateTime | Indica a última vez que o fluxo de trabalho foi persistido no banco de dados. |
ServiceDeploymentId | BigInt | Atua como uma chave estrangeira para a exibição [ServiceDeployments]. Se a instância de fluxo de trabalho atual for uma instância de um serviço hospedado na Web, essa coluna terá um valor, caso contrário, será definida como NULL. |
SuspensionExceptionName | Nvarchar(450) | Indica o tipo de exceção (por exemplo, InvalidOperationException) que causou a suspensão do fluxo de trabalho. |
SuspensãoMotivo | Nvarchar (máx.) | Indica por que a instância de fluxo de trabalho foi suspensa. Se uma exceção causou a suspensão da instância, esta coluna contém a mensagem associada à exceção. Se a instância foi suspensa manualmente, esta coluna contém o motivo especificado pelo usuário para suspender a instância. |
Marcadores Ativos | Nvarchar (máx.) | Se a instância do fluxo de trabalho estiver ociosa, essa propriedade indicará em quais marcadores a instância está bloqueada. Se a instância não estiver ociosa, esta coluna será NULL. |
Máquina Atual | Nvarchar(128) | Indica o nome do computador que atualmente tem a instância do fluxo de trabalho carregada na memória. |
LastMachine | Nvarchar(450) | Indica o último computador que carregou a instância do fluxo de trabalho. |
ExecutionStatus | Nvarchar(450) | Indica o estado de execução atual do fluxo de trabalho. Os estados possíveis incluem Executing, Idle, Closed. |
IsInitialized | Pouco | Indica se a instância do fluxo de trabalho foi inicializada. Uma instância de fluxo de trabalho inicializada é uma instância de fluxo de trabalho que foi persistida pelo menos uma vez. |
IsSuspended | Pouco | Indica se a instância do fluxo de trabalho foi suspensa. |
IsCompleted | Pouco | Indica se a Instância de Fluxo de Trabalho terminou a execução. Nota: Se e somente se a propriedade InstanceCompletionAction estiver definida como DeleteAll, as instâncias serão removidas da exibição após a conclusão. |
EncodingOption | TinyInt | Descreve a codificação usada para serializar as propriedades de dados. - 0 – Sem codificação - 1 – GzipStream |
ReadWritePrimitiveDataProperties | Varbinário (máx.) | Contém propriedades de dados de instância serializados que serão fornecidas de volta ao Runtime do fluxo de trabalho quando a instância for carregada. Cada propriedade primitiva é um tipo CLR nativo, o que significa que nenhum assembly especial é necessário para desserializar o blob. |
WriteOnlyPrimitiveDataProperties | Varbinário (máx.) | Contém propriedades de dados de instância serializados que não são fornecidas de volta ao tempo de execução do fluxo de trabalho quando a instância é carregada. Cada propriedade primitiva é um tipo CLR nativo, o que significa que nenhum assembly especial é necessário para desserializar o blob. |
ReadWriteComplexDataProperties | Varbinário (máx.) | Contém propriedades de dados de instância serializados que serão fornecidas de volta ao tempo de execução do fluxo de trabalho quando a instância for carregada. Um desserializador exigiria conhecimento de todos os tipos de objeto armazenados neste blob. |
WriteOnlyComplexDataProperties | Varbinário (máx.) | Contém propriedades de dados de instância serializados que não são fornecidas de volta ao tempo de execução do fluxo de trabalho quando a instância é carregada. Um desserializador exigiria conhecimento de todos os tipos de objeto armazenados neste blob. |
IdentityName | Nvarchar (máx.) | O nome da definição de fluxo de trabalho. |
IdentityPackage | Nvarchar (máx.) | As informações do pacote fornecidas quando o fluxo de trabalho foi criado (como o nome do assembly). |
Criar | BigInt | O número de compilação da versão do fluxo de trabalho. |
Principal | BigInt | O número principal da versão do fluxo de trabalho. |
Menor | BigInt | O número secundário da versão do fluxo de trabalho. |
Revisão | BigInt | O número de revisão da versão do fluxo de trabalho. |
Atenção
A visualização Instâncias também contém um gatilho Excluir. Os usuários com as permissões apropriadas podem executar instruções de exclusão nessa exibição que removerão com força as instâncias de fluxo de trabalho do banco de dados. Recomendamos excluir diretamente da exibição apenas como último recurso, pois excluir uma instância por baixo do tempo de execução do fluxo de trabalho pode resultar em consequências indesejadas. Em vez disso, use o Workflow Instance Management Endpoint para que o tempo de execução do fluxo de trabalho encerre a instância. Se você quiser excluir um grande número de instâncias da exibição, verifique se não há tempos de execução ativos que possam estar operando nessas instâncias.
Visualização ServiceDeployments
O modo de exibição ServiceDeployments contém informações de implantação para todos os serviços de fluxo de trabalho hospedados na Web (IIS/WAS). Cada instância de fluxo de trabalho hospedada na Web conterá um ServiceDeploymentId que se refere a uma linha nessa exibição.
Nome da Coluna | Tipo de coluna | Description |
---|---|---|
ServiceDeploymentId | BigInt | A chave primária para essa exibição. |
Nome do Site | Nvarchar (máx.) | Representa o nome do site que contém o serviço de fluxo de trabalho (por exemplo, Site Padrão). |
RelativeServicePath | Nvarchar (máx.) | Representa o caminho virtual relativo ao site que aponta para o serviço de fluxo de trabalho. (por exemplo, /app1/PurchaseOrderService.svc). |
RelativeApplicationPath | Nvarchar (máx.) | Representa o caminho virtual relativo ao site que aponta para um aplicativo que contém o serviço de fluxo de trabalho. (por exemplo, /app1). |
ServiceName | Nvarchar (máx.) | Representa o nome do serviço de fluxo de trabalho. (por exemplo, PurchaseOrderService). |
ServiceNamespace | Nvarchar (máx.) | Representa o namespace do serviço de fluxo de trabalho. (por exemplo, Minha Empresa). |
O modo de exibição ServiceDeployments também contém um gatilho Delete. Os usuários com as permissões apropriadas podem executar instruções delete nessa exibição para remover entradas ServiceDeployment do banco de dados. Tenha em atenção que:
A exclusão de entradas dessa exibição é cara, pois todo o banco de dados deve ser bloqueado antes de executar essa operação. Isso é necessário para evitar o cenário em que uma instância de fluxo de trabalho poderia se referir a uma entrada ServiceDeployment inexistente. Exclua desta visualização somente durante os períodos de inatividade / janelas de manutenção.
Qualquer tentativa de excluir uma linha ServiceDeployment que é referenciada por entradas na exibição Instances resultará em um no-op. Você só pode excluir linhas ServiceDeployment com zero referências.
Visualização InstancePromotedProperties
A exibição InstancePromotedProperties contém informações para todas as propriedades promovidas especificadas pelo usuário. Uma propriedade promovida funciona como uma propriedade de primeira classe, que um usuário pode usar em consultas para recuperar instâncias. Por exemplo, um usuário pode adicionar uma promoção PurchaseOrder que sempre armazena o custo de um pedido na coluna Value1 . Isso permitiria que um usuário consultasse todas as ordens de compra cujo custo excedesse um determinado valor.
Tipo de coluna | Tipo de coluna | Description |
---|---|---|
InstanceId | UniqueIdentifier | A ID da instância do fluxo de trabalho |
EncodingOption | TinyInt | Descreve a codificação usada para serializar as propriedades binárias promovidas. - 0 – Sem codificação - 1 – GZipStream |
PromotionName | Nvarchar(400) | O nome da Promoção associada a esta instância. O PromotionName é necessário para adicionar contexto às colunas genéricas nesta linha. Por exemplo, um PromotionName de PurchaseOrder pode indicar que Value1 contém o custo do pedido, Value2 contém o nome do cliente que fez o pedido, Value 3 contém o endereço do cliente e assim por diante. |
Valor[1-32] | SqlVariant | Value[1-32] contém valores que podem ser armazenados em uma coluna SqlVariant. Uma única promoção não pode conter mais de 32 SqlVariants. |
Valor[33-64] | Varbinário (máx.) | Value[33-64] contém valores serializados. Por exemplo, o Value33 pode conter um JPEG de um item que está sendo comprado. Uma única promoção não pode conter mais de 32 propriedades binárias |
A exibição InstancePromotedProperties é vinculada ao esquema, o que significa que os usuários podem adicionar índices em uma ou mais colunas para otimizar as consultas em relação a essa exibição.
Nota
Uma exibição indexada requer mais armazenamento e adiciona sobrecarga de processamento adicional. Consulte Melhorando o desempenho com exibições indexadas do SQL Server 2008 para obter mais informações.