Corretor: Classe de evento de conversa

Aplica-se a: SQL ServerAzure SQL Managed Instance

O SQL Server gera um Broker:Conversation evento para reportar o progresso de uma conversa com o Service Broker.

Colunas de dados da classe de evento Broker:Conversa

Coluna de dados Tipo Description Número da coluna Filtrável
ApplicationName nvarchar O nome da aplicação cliente que criou a ligação a uma instância do SQL Server. Esta coluna é preenchida com os valores passados pela aplicação em vez do nome apresentado do programa. 10 Yes
ClientProcessID int O ID atribuído pelo computador anfitrião ao processo onde a aplicação cliente está a correr. Esta coluna de dados será preenchida se a ID do processo do cliente for fornecida pelo cliente. 9 Yes
DatabaseID int O ID da base de dados especificado pela USE <database> instrução. Se não foi emitida nenhuma USE <database> declaração, esta coluna especifica o ID da base de dados predefinida. O SQL Server Profiler apresenta o nome da base de dados se a coluna de dados ServerName for capturada no rastreio e o servidor estiver disponível. Determine o valor de uma base de dados usando a DB_ID função. 3 Yes
EventClass int O tipo de classe de evento capturada. Sempre 124 para Broker:Conversation. 27 No
EventSequence int Número de sequência para este evento. 51 No
EventSubClass nvarchar O tipo de subclasse de evento. Isto fornece mais informações sobre cada classe de evento. 21 Yes
GUID uniqueidentifier O ID da conversa do diálogo. Este identificador é transmitido como parte da mensagem e é partilhado entre ambos os lados da conversa. 54 No
HostName nvarchar O nome do computador onde o cliente está a correr. Esta coluna de dados será preenchida se o nome do host for fornecido pelo cliente. Para determinar o nome do host, use a HOST_NAME função. 8 Yes
IsSystem int Indica se o evento ocorreu em um processo do sistema ou em um processo do usuário.

0 = user
1 = system
60 No
LoginSid image O número de identificação de segurança (SID) do utilizador registado. Cada SID é único para cada login no servidor. 41 Yes
MethodName nvarchar O grupo de conversa a que a conversa pertence. 47 No
NTDomainName nvarchar O domínio Windows ao qual o utilizador pertence. 7 Yes
NTUserName nvarchar O nome do utilizador que detém a ligação que gerou este evento. 6 Yes
ObjectName nvarchar O tema da conversa do diálogo. 34 No
Priority int O nível de prioridade da conversa 5 Yes
RoleName nvarchar O papel do tema da conversa. Isto é ou initiator .target 38 No
ServerName nvarchar O nome da instância do SQL Server que está a ser rastreada. 26 No
Severity int A gravidade do erro do SQL Server, se este evento reportar um erro. 29 No
SPID int O ID de sessão atribuído pelo SQL Server ao processo associado ao cliente. 12 Yes
StartTime datetime A hora em que o evento começou, quando disponível. 14 Yes
TextData ntext O estado atual da conversa. Pode ter um dos seguintes valores: 1 Yes
SO. Começou para fora. O SQL Server processou a BEGIN CONVERSATION para esta conversa, mas não foram enviadas mensagens.
SI. Começou a chegar a entrada. Outra instância do Database Engine iniciou uma nova conversa com a instância atual, mas a instância atual ainda não terminou de receber a primeira mensagem. O SQL Server pode criar a conversa neste estado se a primeira mensagem estiver fragmentada ou se o SQL Server receber mensagens fora de ordem. No entanto, o SQL Server pode criar a conversa no CO estado se a primeira transmissão recebida para a conversa contiver a primeira mensagem completa.
CO. Conversar. A conversa é estabelecida, e ambos os lados podem enviar mensagens. A maior parte da comunicação num serviço típico acontece quando a conversa está neste estado.
DI. Desligado de entrada. O lado remoto da conversa emitiu um END CONVERSATION. A conversa mantém-se neste estado até que o lado local da conversa emita um END CONVERSATION. Uma aplicação ainda pode receber mensagens para a conversa. Como o lado remoto da conversa terminou a conversa, uma aplicação não pode enviar mensagens nessa conversa. Quando uma aplicação emite um END CONVERSATION, a conversa passa para o estado Fechado (CD).
DO. Saída desligada. O lado local da conversa emitiu um END CONVERSATION. A conversa mantém-se neste estado até que o lado mais remoto da conversa reconheça o END CONVERSATION. Uma aplicação não pode enviar ou receber mensagens para a conversa. Quando o lado remoto da conversa reconhece o END CONVERSATION, a conversa passa para o estado Fechado (CD).
ER. Erro. Ocorreu um erro neste endpoint. As Errorcolunas , Severity, e State contêm informação sobre o erro específico que ocorreu.
CD. Fechada. O endpoint de conversa já não está em uso.
TransactionID bigint O ID atribuído pelo sistema da transação. 4 No

A tabela seguinte lista os valores das subclasses para esta classe de evento.

ID Subclasse Description
1 SEND Message O SQL Server gera um SEND Message evento quando o Database Engine executa uma SEND instrução.
2 END CONVERSATION O SQL Server gera um END CONVERSATION evento quando o Database Engine executa uma END CONVERSATION instrução que não inclui a WITH ERROR cláusula.
3 END CONVERSATION WITH ERROR O SQL Server gera um END CONVERSATION WITH ERROR evento quando o Database Engine executa uma END CONVERSATION instrução que inclui a WITH ERROR cláusula.
4 Broker Initiated Error O SQL Server gera um Broker Initiated Error evento sempre que o Service Broker cria uma mensagem de erro. Por exemplo, quando o Service Broker não consegue encaminhar com sucesso uma mensagem para um diálogo, o broker cria uma mensagem de erro para o diálogo e gera este evento. O SQL Server não gera este evento quando um programa de aplicação termina uma conversa com um erro.
5 Terminate Dialog O Service Broker terminou o diálogo. O Service Broker termina diálogos em resposta a condições que impedem a continuação, mas que não são erros ou o fim normal de uma conversa. Por exemplo, ao cortar um serviço, o Service Broker termina todos os diálogos desse serviço.
6 Received Sequenced Message O SQL Server gera uma Received Sequenced Message classe de evento quando o SQL Server recebe uma mensagem que contém um número de sequência de mensagem. Todos os tipos de mensagens definidos pelo utilizador são mensagens sequenciadas. O Service Broker gera uma mensagem não sequenciada em dois casos:

As mensagens de erro geradas pelo Service Broker não são sequenciadas.

As acusações de confirmação das mensagens podem não ser sequenciadas. Para maior eficiência, o Service Broker inclui enviar qualquer confirmação disponível como parte de uma mensagem sequenciada. No entanto, se uma aplicação não enviar uma mensagem sequenciada para o endpoint remoto dentro de um determinado período de tempo, o Service Broker cria uma mensagem não sequenciada para o reconhecimento da mensagem.
7 Received END CONVERSATION O SQL Server gera um Received END CONVERSATION evento quando o SQL Server recebe uma mensagem de Fim de Diálogo do outro lado da conversa.
8 Received END CONVERSATION WITH ERROR O SQL Server gera um Received END CONVERSATION WITH ERROR evento quando o SQL Server recebe um erro definido pelo utilizador do outro lado da conversa. O SQL Server não gera este evento quando o SQL Server recebe um erro definido pelo broker.
9 Received Broker Error Message O SQL Server gera um Received Broker Error Message evento quando o Service Broker recebe uma mensagem de erro definida pelo broker do outro lado da conversa. O SQL Server não gera este evento quando o Service Broker recebe uma mensagem de erro gerada por uma aplicação.

Por exemplo, se a base de dados atual contiver uma rota padrão para uma base de dados de encaminhamento, o Service Broker encaminha uma mensagem com um nome de serviço desconhecido para a base de dados de encaminhamento. Se essa base de dados não conseguir encaminhar a mensagem, o corretor dessa base cria uma mensagem de erro e devolve essa mensagem de erro à base de dados atual. Quando a base de dados atual recebe o erro gerado pelo corretor da base de dados de encaminhamento, a base de dados atual gera um Received Broker Error Message evento.
10 Received END CONVERSATION Ack O SQL Server gera uma Received END CONVERSATION Ack classe de evento quando o outro lado de uma conversa reconhece uma End Dialog mensagem ou Error enviada por este lado da conversa.
11 BEGIN DIALOG O SQL Server gera um BEGIN DIALOG evento quando o Database Engine executa um BEGIN DIALOG comando.
12 Dialog Created O SQL Server gera um Dialog Created evento quando o Service Broker cria um endpoint para um diálogo. O Service Broker cria um endpoint sempre que um novo diálogo é estabelecido, independentemente de a base de dados atual ser o iniciador ou o alvo do diálogo.
13 END CONVERSATION WITH CLEANUP O SQL Server gera um END CONVERSATION WITH CLEANUP evento quando o Database Engine executa uma END CONVERSATION instrução que inclui a WITH CLEANUP cláusula.