Condividi tramite


Classe di evento Broker:Conversation

Si applica a: SQL Server Istanza gestita di SQL di Azure

SQL Server genera un evento Broker:Conversation per segnalare lo stato di avanzamento di una conversazione di Service Broker.

Colonne di dati della classe di evento Broker:Conversation

Colonna di dati Tipo Descrizione Column number Filtrabile
ApplicationName nvarchar Il nome dell'applicazione client in cui è stata creata la connessione a un'istanza di SQL Server. Questa colonna viene popolata con i valori passati dall'applicazione al posto del nome visualizzato del programma. 10
ClientProcessID int ID assegnato dal computer host al processo in cui è in esecuzione l'applicazione client. Questa colonna di dati viene popolata se l'ID del processo client viene fornito dal client. 9
DatabaseID int ID del database specificato dall'istruzione USE database oppure ID del database predefinito, se non è stata eseguita un'istruzione USE database. SQL Server Profiler visualizza il nome del database se la colonna di dati ServerName è acquisita nella traccia e il server è disponibile. È possibile determinare il valore per un database tramite la funzione DB_ID . 3
EventClass int Tipo di classe di evento acquisita. Per Broker:Conversation è sempre 124. 27 No
EventSequence int Numero di sequenza dell'evento. 51 No
EventSubClass nvarchar Tipo di sottoclasse di evento. Fornisce ulteriori informazioni su ogni classe di evento. 21
GUID uniqueidentifier ID della conversazione della finestra. Questo identificatore viene trasmesso come parte del messaggio e viene condiviso da entrambi i lati della conversazione. 54 No
HostName nvarchar Nome del computer in cui è in esecuzione il client. Questa colonna di dati viene popolata se il nome host viene fornito dal client. Per determinare il nome host, usare la funzione HOST_NAME . 8
IsSystem int Indica se l'evento è stato generato per un processo di sistema o un processo utente.

0 = utente

1 = sistema
60 No
LoginSid Immagine ID di sicurezza (SID) dell'utente connesso. Il SID è univoco per ogni account di accesso nel server. 41
MethodName nvarchar Gruppo di conversazioni al quale la conversazione appartiene. 47 No
NTDomainName nvarchar Dominio di Windows a cui appartiene l'utente. 7
NTUserName nvarchar Nome dell'utente proprietario della connessione che ha generato questo evento. 6
ObjectName nvarchar Handle di conversazione del dialogo. 34 No
Priorità int Livello di priorità della conversazione 5
RoleName nvarchar Ruolo dell'handle di conversazione. I valori possibili sono initiator o target. 38 No
ServerName nvarchar Il nome dell'istanza di SQL Server tracciata. 26 No
Gravità int Gravità dell'errore di SQL Server, se questo evento segnala un errore. 29 No
SPID int ID processo server assegnato da SQL Server al processo associato al client. 12
StartTime datetime Ora di inizio dell'evento, se disponibile. 14
TextData ntext Stato corrente della conversazione. I valori consentiti sono i seguenti: 1
SO. Avviata in uscita (Started outbound). SQL Server ha elaborato una CONVERSAZIONE BEGIN per questa conversazione, ma non sono stati inviati messaggi.
SI. Avviata in ingresso (Started inbound). Un'altra istanza del motore di database ha avviato una nuova conversazione con l'istanza corrente, ma l'istanza corrente non ha terminato di ricevere il primo messaggio. SQL Server potrebbe creare la conversazione in questo stato se il primo messaggio è frammentato o SQL Server riceve messaggi non in ordine. Tuttavia, SQL Server potrebbe creare la conversazione nello stato CO se la prima trasmissione ricevuta per la conversazione contiene il primo messaggio completo.
CO. In corso (Conversing). La conversazione è stata stabilita ed entrambi i lati della conversazione possono inviare messaggi. La maggior parte delle comunicazioni di un servizio tipico ha luogo quando la conversazione è in questo stato.
DI. Disconnessa in ingresso (Disconnected inbound). Il lato remoto della conversazione ha eseguito un'istruzione END CONVERSATION. La conversazione rimane in questo stato finché il lato locale della conversazione non esegue un'istruzione END CONVERSATION. Un'applicazione può ancora ricevere messaggi per la conversazione. Poiché sul lato remoto la conversazione è terminata, non può invece inviare messaggi nella conversazione. Quando un'applicazione esegue un'istruzione END CONVERSATION, la conversazione passa allo stato CLOSED (CD).
DO. Disconnessa in uscita (Disconnected outbound). Il lato locale della conversazione ha eseguito un'istruzione END CONVERSATION. La conversazione rimane in questo stato finché il lato remoto della conversazione invia un acknowledgement dell'istruzione END CONVERSATION. Un'applicazione non può inviare o ricevere messaggi per la conversazione. Quando il lato remoto della conversazione invia un acknowledgement per END CONVERSATION, la conversazione passa allo stato CLOSED (CD).
ER. Errore. In questo endpoint si è verificato un errore. Le colonne Error, Severity e State contengono informazioni sull'errore specifico verificatosi.
CD. Chiuso. L'endpoint di conversazione non è più in uso.
ID transazione bigint ID della transazione assegnato dal sistema. 4 No

Nella tabella seguente sono elencati i valori delle sottoclassi di questa classe di evento.

ID Sottoclasse Descrizione
1 SEND Message SQL Server genera un evento SEND Message quando il motore di database esegue un'istruzione SEND.
2 END CONVERSATION SQL Server genera un evento END CONVERSATION quando il motore di database esegue un'istruzione END CONVERSATION che non include la clausola WITH ERROR.
3 END CONVERSATION WITH ERROR SQL Server genera un evento END CONVERSATION WITH ERROR quando il motore di database esegue un'istruzione END CONVERSATION che include la clausola WITH ERROR.
4 Broker Initiated Error SQL Server genera un evento Di errore avviato da Broker ogni volta che Service Broker crea un messaggio di errore. Ad esempio, quando Service Broker non riesce a instradare correttamente un messaggio per una finestra di dialogo, il broker crea un messaggio di errore per la finestra di dialogo e genera questo evento. SQL Server non genera questo evento quando un programma dell'applicazione termina una conversazione con un errore.
5 Terminate Dialog Service Broker ha terminato la finestra di dialogo. Service Broker termina i dialoghi in risposta a condizioni che impediscono la continuazione del dialogo, ma che non sono errori o la normale fine di una conversazione. Ad esempio, l'eliminazione di un servizio causa l'interruzione di tutte le finestre di dialogo per tale servizio.
6 Received Sequenced Message SQL Server genera una classe di evento Received Sequenced Message quando SQL Server riceve un messaggio che contiene un numero di sequenza di messaggi. Tutti i tipi di messaggio definiti dall'utente sono messaggi in sequenza. Service Broker genera un messaggio non accodato in due casi:

I messaggi di errore generati da Service Broker non vengono accodati.

È possibile che gli acknowledgement dei messaggi siano non in sequenza. Per garantire l'efficienza, Service Broker include un messaggio qualsiasi acknowledgement disponibile come parte di un messaggio sequenziato. Tuttavia, se un'applicazione non invia un messaggio sequenziato all'endpoint remoto entro un determinato periodo di tempo, Service Broker crea un messaggio non accodato per l'acknowledgement del messaggio.
7 Received END CONVERSATION SQL Server genera un evento Received END CONVERSATION quando SQL Server riceve un messaggio End Dialog dall'altro lato della conversazione.
8 Received END CONVERSATION WITH ERROR SQL Server genera un evento Received END CONVERSATION WITH ERROR quando SQL Server riceve un errore definito dall'utente dall'altro lato della conversazione. SQL Server non genera questo evento quando SQL Server riceve un errore definito dal broker.
9 Received Broker Error Message SQL Server genera un evento Messaggio di errore di Broker ricevuto quando Service Broker riceve un messaggio di errore definito dal broker dall'altro lato della conversazione. SQL Server non genera questo evento quando Service Broker riceve un messaggio di errore generato da un'applicazione.

Ad esempio, se il database corrente contiene una route predefinita a un database di inoltro, Service Broker instrada un messaggio con un nome di servizio sconosciuto al database di inoltro. Se il database di inoltro non è in grado di eseguire il routing del messaggio, l'istanza di Service Broker di quel database crea un messaggio di errore e lo restituisce al database corrente. Quando il database corrente riceve il messaggio generato dal broker dal database di inoltro, genera un evento Received Broker Error Message .
10 Received END CONVERSATION Ack SQL Server genera una classe di evento Received END CONVERSATION Ack quando l'altro lato di una conversazione riconosce un messaggio End Dialog o Error inviato da questo lato della conversazione.
11 BEGIN DIALOG SQL Server genera un evento BEGIN DIALOG quando il motore di database esegue un comando BEGIN DIALOG.
12 Dialog Created SQL Server genera un evento Dialog Created quando Service Broker crea un endpoint per una finestra di dialogo. Service Broker crea un endpoint ogni volta che viene stabilita una nuova finestra di dialogo, indipendentemente dal fatto che il database corrente sia l'iniziatore o la destinazione della finestra di dialogo.
13 END CONVERSATION WITH CLEANUP SQL Server genera un evento END CONVERSATION WITH CLEANUP quando il motore di database esegue un'istruzione END CONVERSATION che include la clausola WITH CLEANUP.

Vedi anche

SQL Server Service Broker