Share via


NSDiagnosticNotificationClass (Transact-SQL)

Genera el informe de clase de notificación para una aplicación de Microsoft SQL Server Notification Services. El informe proporciona información sobre el número de notificaciones y lotes de notificaciones procesados por la clase de notificación, y si las notificaciones se entregan correctamente.

Sintaxis

[ schema_name . ] NSDiagnosticNotificationClass 
    [ @ApplicationName = ] 'app_name' ,
    [ @NotificationClassName = ] 'notification_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.

[ @NotificationClassName=] 'notification_class_name'

Nombre de la clase de notificación, tal y como especifica el archivo de definición de aplicación (ADF). notification_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 (5 * QuantumDuration * @ReportingInterval) antes del valor de @EndDateTime. 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 el resultado de la función GETUTCDATE, que devuelve el momento en que se invoca el procedimiento almacenado.

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.

NotificationBatchesGenerated

int

Para la clase de notificación, número de lotes de notificación generados durante el intervalo de informe.

NotificationsGenerated

int

Para la clase de notificación, número de notificaciones generadas durante el intervalo de informe.

NotificationsGeneratedPerSecond

float

Para la clase de notificación, número de notificaciones generadas por segundo durante el intervalo de informe.

AvgNotificationBatchWaitTillDistribution

float

Para la clase de notificación, tiempo de espera promedio que el distribuidor ha tardado en recoger un lote de notificaciones durante el intervalo de informe.

NotificationDeliveryAttempts

int

Para los lotes de notificaciones generados durante el intervalo de informe para la clase de notificación dada, número de intentos de entrega de notificaciones.

NotificationSuccessfulDeliveries

int

Para los lotes de notificaciones generados durante el intervalo de informe para la clase de notificación dada, número de notificaciones entregadas correctamente.

NotificationFailedAttempts

int

Para los lotes de notificaciones generados durante el intervalo de informe para la clase de notificación dada, número de intentos de entrega de notificaciones con errores.

NotificationsDeliveryNotAttempted

int

Para los lotes de notificaciones generados durante el intervalo de informe para la clase de notificación dada, número de notificaciones que el distribuidor todavía no ha intentado entregar.

NotificationsNotYetDelivered

int

Para los lotes de notificaciones generados durante el intervalo de informe para la clase de notificación dada, número de notificaciones no entregadas debido a que todavía no se ha intentado la entrega o a un error en el intento.

NotificationToMessageRatio

float

Para los lotes de notificaciones generados durante el intervalo de informe, relación entre las notificaciones generadas y los 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.

AvgNotificationBatchSucceedDeliveryTime

float

Para los lotes de notificaciones generados durante el intervalo de informe, tiempo promedio para enviar correctamente las notificaciones a través del proceso de distribución.

Notas

Notification Services crea el procedimiento almacenado NSDiagnosticNotificationClass 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 notificaciones se incluyen en un intervalo de informe cuando el valor de EndGenerationTime es mayor que el valor de IntervalStartDateTime y menor o igual que 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 los valores de intervalo de informe, hora de inicio y hora de finalización

En el ejemplo siguiente se genera el informe de diagnóstico de clase de notificación para la aplicación Flight y la clase de notificación FlightNotifications. 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 60 cuantos de generador en cada intervalo de informe. El informe se inicia a las 5:00 p.m. el 23 mayo de 2002 y finaliza a las 6:00 p.m. de ese mismo día:

EXEC dbo.NSDiagnosticNotificationClass 
    @ApplicationName = N'Flight', 
    @NotificationClassName = N'FlightNotifications', 
    @ReportingInterval = 60, 
    @StartDateTime = '2004-05-23 17:00', 
    @EndDateTime = '2004-05-23 18:00';

B. Utilizar valores predeterminados, esquema con nombre

En el ejemplo siguiente se genera el informe de diagnóstico de clase de notificación para la aplicación Flight y la clase de notificación FlightNotifications. 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.NSDiagnosticNotificationClass 
    @ApplicationName = N'Flight', 
    @NotificationClassName = N'FlightNotifications';

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