Share via


NSDiagnosticEventClass (Transact-SQL)

Genera el informe de clase de evento para una aplicación de Microsoft SQL Server Notification Services. Este informe puede ser útil para solucionar problemas de recopilación de eventos y puede proporcionar información sobre el proceso de eventos que realiza la aplicación.

Sintaxis

[ schema_name . ] NSDiagnosticEventClass 
    [ @ApplicationName = ] 'app_name' ,
    [ @EventClassName = ] 'event_class_name' 
    [, [ @ReportingInterval = ] interval ] 
    [, [ @StartDateTime = ] 'start_date_time' ] 
    [, [ @EndDateTime = ] 'end_date_time' ] 

Argumentos

[ @ApplicationName = ] 'app_name'

Nombre de la aplicación, tal y como se define en el archivo de configuración. app_name es de tipo nvarchar(255) y no tiene ningún valor predeterminado.

[ @EventClassName = ] 'event_class_name'

Nombre de una clase de evento de la aplicación. event_class_name es de tipo nvarchar(255) y no tiene ningún valor predeterminado.

[ @ReportingInterval = ] interval

Número de cuantos de generador de cada intervalo de informe. El informe contiene una fila por intervalo. interval es de tipo int y su valor predeterminado es 1, lo que indica un cuanto de generador por intervalo.

La duración del cuanto se especifica en el archivo de definición de aplicación (ADF).

[ @StartDateTime = ] 'start_date_time'

Fecha y hora de inicio del informe en UTC (hora universal coordinada u hora del meridiano de Greenwich). start_date_time es de tipo datetime. El valor predeterminado es @EndDateTime - (5 * QuantumDuration * @ReportingInterval). Si se utiliza el valor predeterminado, el conjunto de resultados contiene como mucho cinco filas, y cada una de ellas representa un intervalo de informe.

[ @EndDateTime = ] 'end_date_time'

Fecha y hora de finalización del informe en UTC. end_date_time es de tipo datetime. El valor predeterminado es la hora en la que el usuario invoca el procedimiento almacenado (en UTC).

Conjuntos de resultados

Nombre de columna Tipo de datos Descripción

IntervalStartDateTime

datetime

Fecha y hora de inicio, en UTC, del intervalo de informe.

IntervalEndDateTime

datetime

Fecha y hora de finalización, en UTC, del intervalo de informe.

EventBatchesCollectedCount

int

Número de lotes de eventos recopilados en el intervalo de informe. Sólo se cuentan los lotes que completaron el proceso de recopilación durante el intervalo.

UnfinishedEventBatches

int

Número de lotes de eventos iniciados, pero no completados, durante el intervalo de informe.

AvgEventBatchEventCount

float

Promedio de eventos por lote en los lotes de eventos recopilados durante el intervalo de informe.

AvgEventsCollectedPerSecond

float

Promedio de eventos recopilados por segundo en los lotes de eventos recopilados durante el intervalo de informe.

AvgGeneratorPickupWaitPerBatch

float

En los lotes de eventos recopilados durante el intervalo de informe, promedio de tiempo, en segundos, que tardó el generador en procesar el lote de eventos (ejecutando una regla de crónica de eventos o una regla de suscripción de eventos en el lote).

AvgEventChronicleRuleFiringTimePerBatch

float

En los lotes de eventos recopilados durante el intervalo de informe, promedio de tiempo, en segundos, que tardaron en ejecutarse las reglas de crónica de eventos.

AvgEventSubscriptionRuleFiringTimePerBatch

float

En los lotes de eventos recopilados durante el intervalo de informe, promedio de tiempo, en segundos, que tardaron en ejecutarse las reglas de suscripción de eventos.

EventNotificationBatchCount

int

Número de lotes de notificación generados en los lotes de eventos recopilados durante el intervalo de informe.

EventNotificationsGeneratedCount

int

Número de notificaciones generadas en los lotes de eventos recopilados durante el intervalo de informe.

AvgEventNotificationBatchGenerationTime

float

En los lotes de eventos recopilados durante el intervalo de informe, promedio de tiempo, en segundos, que tarda el generador en crear lotes de notificaciones.

AvgEventNotificationBatchWaitTillDistribution

float

En los lotes de eventos recopilados durante el intervalo de informe, promedio de tiempo, en segundos, que esperan los lotes de notificaciones para que el distribuidor los procese.

EventNotificationDeliveryAttempts

int

Número de intentos que se realizan para entregar las notificaciones creadas en eventos recopilados durante el intervalo de informe.

EventNotificationSuccessfulDeliveries

int

Número de entregas correctas de notificaciones correspondientes a los lotes de eventos recopilados durante el intervalo de informe.

EventNotificationFailedAttempts

int

Número de intentos de entrega de notificaciones con errores correspondientes a los lotes de eventos recopilados durante el intervalo de informe.

EventNotificationsDeliveryNotAttempted

int

Número de notificaciones que el distribuidor todavía no ha intentado entregar correspondientes a los lotes de eventos recopilados durante el intervalo de informe.

EventNotificationsNotYetDelivered

int

En los lotes de eventos recopilados durante el intervalo de informe, número de notificaciones que todavía no se han entregado debido a que no se ha intentado o debido a que se produjo un error en el intento.

EventNotificationToMessageRatio

float

En los lotes de eventos recopilados durante el intervalo de informe, proporción entre notificaciones generadas y mensajes enviados.

Para la entrega de resumen o de multidifusión, un mensaje puede incluir varias notificaciones. Esta columna indica la media de notificaciones que se incluyen en los mensajes de resumen o de multidifusión.

AvgEventNotificationBatchSucceedDeliveryTime

float

En las notificaciones generadas en los lotes de eventos de intervalo, promedio de tiempo que se tarda en enviar correctamente las notificaciones a través del proceso de distribución.

Notas

Notification Services crea el procedimiento almacenado NSDiagnosticEventClass en la base de datos de instancias al crear la instancia. Al actualizar la instancia, Notification Services vuelve a compilar el procedimiento almacenado.

Este procedimiento almacenado se encuentra en el esquema de la instancia, que se especifica mediante el elemento SchemaName del archivo de configuración de la instancia (ICF). Si no se proporciona ningún nombre de esquema, el esquema predeterminado es dbo.

Los lotes de eventos pasan a estar dentro del intervalo de informe cuando el valor de EndCollectionTime es mayor que el valor de IntervalStartDateTime y menor o igual que el valor de IntervalEndDateTime.

Para determinar la fecha y hora UTC actuales, ejecute SELECT GETUTCDATE() en SQL Server Management Studio. La hora UTC actual se deriva de la hora local actual y la configuración de zona horaria del sistema operativo del equipo en el que se ejecuta SQL Server.

Permisos

De forma predeterminada, los permisos de ejecución corresponden a los miembros de la función de base de datos NSAnalysis, la función fija de base de datos db_owner y la función fija de servidor sysadmin.

Valores de código de retorno

0 (correcto) o 1 (error)

Ejemplos

A. Especificar intervalo de informe, hora de inicio y hora de finalización

En el siguiente ejemplo se genera el informe de diagnóstico de clase de evento para la aplicación Flight y la clase de evento FlightEvents. La instancia utiliza la configuración predeterminada de la base de datos, que coloca todos los objetos de la instancia en el esquema dbo.

El informe incluye 40 cuantos de generador en cada intervalo de informe. El informe se inicia a las 5:00 p.m. el 23 mayo, 2004 y finaliza a las 6:00 p.m. de ese mismo día (en UTC):

EXEC dbo.NSDiagnosticEventClass 
    @ApplicationName = N'Flight', 
    @EventClassName = N'FlightEvents', 
    @ReportingInterval = 40, 
    @StartDateTime = '2004-05-23 17:00', 
    @EndDateTime = '2004-05-23 18:00';

B. Utilizar valores predeterminados, esquema con nombre

En el siguiente ejemplo se genera el informe de diagnóstico de clase de evento para la aplicación Flight y la clase de evento FlightEvents. En este ejemplo, el procedimiento almacenado (al igual que el resto de los objetos de instancia) se encuentra en el esquema FlightInstance, según se especifica en el elemento SchemaName del ICF.

El informe utiliza valores predeterminados que especifica para mostrar los datos de los cinco últimos cuantos de generador.

EXEC FlightInstance.NSDiagnosticEventClass
    @ApplicationName = N'Flight',
    @EventClassName = N'FlightEvents';

Vea también

Referencia

Procedimientos almacenados de Notification Services (Transact-SQL)

Otros recursos

Informes de rendimiento de Notification Services
SchemaName Element (ICF)

Ayuda e información

Obtener ayuda sobre SQL Server 2005