Broker:Conversation, clase de eventos

Se aplica a:SQL ServerAzure SQL Managed Instance

SQL Server genera un evento Broker:Conversation para informar del progreso de una conversación de Service Broker.

Columnas de datos de la clase de eventos Broker:Conversation

Columna de datos Tipo Descripción Número de columna Filtrable
ApplicationName nvarchar Nombre de la aplicación cliente que ha creado la conexión a una instancia de SQL Server. Esta columna se rellena con los valores que pasa la aplicación en lugar de con el nombre mostrado del programa. 10
ClientProcessID int Id. que el equipo host asigna al proceso en el que se ejecuta la aplicación cliente. Esta columna de datos se rellena si el cliente proporciona su identificador de proceso. 9
DatabaseID int Id. de la base de datos especificada por la instrucción USE database . Si no se ha emitido ninguna instrucción USE database, el identificador de la base de datos predeterminada. SQL Server Profiler muestra el nombre de la base de datos si se captura la columna de datos ServerName en el seguimiento y el servidor está disponible. Determine el valor de una base de datos con la función DB_ID . 3
EventClass int Tipo de clase de eventos capturado. Es siempre 124 para Broker:Conversation. 27 No
EventSequence int Número de secuencia de este evento. 51 No
EventSubClass nvarchar Tipo de subclase de evento. Proporciona más información sobre cada clase de eventos. 21
GUID uniqueidentifier Id. de conversación del diálogo. Este identificador se transmite como parte del mensaje y lo comparten ambas partes de la conversación. 54 No
HostName nvarchar Nombre del equipo en el que se está ejecutando el cliente. Esta columna de datos se rellena si el cliente proporciona el nombre del host. Para averiguar el nombre de host, use la función HOST_NAME . 8
IsSystem int Indica si el evento ha ocurrido en un proceso del sistema o en un proceso de usuario.

0 = usuario

1 = sistema
60 No
LoginSid image SID (número de identificación de seguridad) del usuario que ha iniciado la sesión. Cada SID es único para cada inicio de sesión en el servidor. 41
MethodName nvarchar Grupo de conversación al que pertenece la conversación. 47 No
NTDomainName nvarchar Dominio de Windows al que pertenece el usuario. 7
NTUserName nvarchar Nombre del usuario al que pertenece la conexión que generó este evento. 6
ObjectName nvarchar Identificador de conversación del diálogo. 34 No
Prioridad int Nivel de prioridad de la conversación. 5
RoleName nvarchar Rol del identificador de conversación. Es initiator o target. 38 No
ServerName nvarchar Nombre de la instancia de SQL Server cuyo seguimiento se realiza. 26 No
Gravedad int Gravedad del error de SQL Server , si este evento informa de un error. 29 No
SPID int Identificador de proceso del servidor que SQL Server asigna al proceso relacionado con el cliente. 12
StartTime datetime Hora a la que se inició el evento, si está disponible. 14
TextData ntext El estado actual de la conversación. Puede tener uno de los siguientes valores: 1
SO. Salida iniciada. SQL Server procesó una instrucción BEGIN CONVERSATION para esta conversación, pero no se ha enviado ningún mensaje.
SI. Entrada iniciada. Otra instancia de Motor de base de datos inició una nueva conversación con la instancia actual, pero la instancia actual no ha terminado de recibir el primer mensaje. SQL Server podría crear la conversación en este estado si se fragmenta el primer mensaje o si SQL Server recibe los mensajes sin orden. No obstante, SQL Server podría crear la conversación en el estado CO si la primera transmisión recibida de la conversación contiene el primer mensaje completo.
CO. Conversando. La conversación está establecida y los dos lados de la conversación pueden enviar mensajes. La mayor parte de la comunicación de un servicio típico tiene lugar cuando la conversación está en este estado.
DI. Entrada desconectada. El lado remoto de la conversación ha emitido un END CONVERSATION. La conversación permanece en este estado hasta que el lado local de la conversación emite un END CONVERSATION. Una aplicación puede seguir recibiendo mensajes de la conversación. Puesto que el lado remoto de la conversación ha finalizado la conversación, una aplicación no puede enviar mensajes en esta conversación. Cuando una aplicación emite un END CONVERSATION, la conversación pasa al estado CD (Cerrada).
HACER. Salida desconectada. El lado local de la conversación ha emitido un END CONVERSATION. La conversación permanece en este estado hasta que el lado remoto de la conversación confirma un END CONVERSATION. Una aplicación no puede seguir enviando ni recibiendo mensajes de la conversación. Cuando el lado remoto de la conversación confirma el END CONVERSATION, la conversación pasa al estado CD (Cerrada).
ER. Error. Se ha producido un error en este extremo. Las columnas Error, Severity y State contienen información sobre el error específico que se ha producido.
CD. Cerrada. El extremo de la conversación ya no se utiliza.
Transaction ID bigint Identificador de la transacción asignado por el sistema. 4 No

En la tabla siguiente se indican los valores de la subclase de esta clase de eventos.

id Subclase Descripción
1 SEND Message SQL Server genera un evento SEND Message cuando el Motor de base de datos ejecuta una instrucción SEND.
2 FINALIZAR CONVERSACIÓN SQL Server genera un evento END CONVERSATION cuando el Motor de base de datos ejecuta una instrucción END CONVERSATION que no incluye la cláusula WITH ERROR.
3 END CONVERSATION WITH ERROR SQL Server genera un evento END CONVERSATION WITH ERROR cuando el Motor de base de datos ejecuta una instrucción END CONVERSATION que incluye la cláusula WITH ERROR.
4 Broker Initiated Error SQL Server genera un evento Broker Initiated Error siempre que Service Broker crea un mensaje de error. Por ejemplo, cuando Service Broker no puede enrutar correctamente un mensaje para un diálogo, el agente crea un mensaje de error para el diálogo y genera este evento. SQL Server no genera este evento cuando una aplicación finaliza una conversación con un error.
5 Terminate Dialog Service Broker finalizó el diálogo. Service Broker finaliza los diálogos como respuesta a condiciones que impiden que el diálogo continúe, pero que no son errores ni la finalización normal de una conversación. Por ejemplo, si se quita un servicio, Service Broker finaliza todos los diálogos de ese servicio.
6 Received Sequenced Message SQL Server genera una clase de eventos Received Sequenced Message cuando SQL Server recibe un mensaje que contiene un número de secuencia de mensaje. Todos los tipos de mensaje definidos por el usuario son mensajes en secuencia. Service Broker genera un mensaje sin secuencia en dos casos:

Los mensajes de error generados por Service Broker son sin secuencia.

Los reconocimientos de mensajes pueden ser sin secuencia. Para lograr una mayor eficacia, Service Broker incluye reconocimientos de mensaje como parte de un mensaje en secuencia. Sin embargo, si una aplicación no envía un mensaje en secuencia al extremo remoto en un período determinado de tiempo, Service Broker crea un mensaje sin secuencia para el reconocimiento del mensaje.
7 Received END CONVERSATION SQL Server genera un evento Received END CONVERSATION cuando SQL Server recibe un mensaje de finalización de diálogo del otro lado de la conversación.
8 Received END CONVERSATION WITH ERROR SQL Server genera un evento Received END CONVERSATION WITH ERROR cuando SQL Server recibe un error definido por el usuario procedente del otro lado de la conversación. SQL Server no genera este evento cuando SQL Server recibe un error definido por el agente.
9 Received Broker Error Message SQL Server genera un evento Received Broker Error Message cuando Service Broker recibe un mensaje de error definido por el agente procedente del otro lado de la conversación. SQL Server no genera este evento cuando Service Broker recibe un mensaje de error generado por una aplicación.

Por ejemplo, si la base de datos actual contiene una ruta predeterminada a una base de datos de reenvío, Service Broker enruta un mensaje con un nombre de servicio desconocido a la base de datos de reenvío. Si esa base de datos no puede enrutar el mensaje, el agente de la base de datos crea un mensaje de error y lo devuelve a la base de datos actual. Cuando la base de datos actual recibe el error generado por el agente de la base de datos de reenvío, la base de datos actual genera un evento Received Broker Error Message .
10 Received END CONVERSATION Ack SQL Server genera una clase de eventos Received END CONVERSATION Ack cuando el otro lado de una conversación confirma un mensaje de error o de finalización del diálogo enviado por este lado de la conversación.
11 BEGIN DIALOG SQL Server genera un evento BEGIN DIALOG cuando el motor de base de datos ejecuta un comando BEGIN DIALOG.
12 Dialog Created SQL Server genera un evento Dialog Created cuando Service Broker crea un extremo para un diálogo. Service Broker crea un extremo cada vez que se establece un nuevo diálogo, independientemente de si la base de datos actual es el iniciador o el destino del diálogo.
13 END CONVERSATION WITH CLEANUP SQL Server genera un evento END CONVERSATION WITH CLEANUP cuando el Motor de base de datos ejecuta una instrucción END CONVERSATION que incluye la cláusula WITH CLEANUP.

Vea también

SQL Server Service Broker