Share via


NSDiagnosticSubscriptionClass (Transact-SQL)

Crea el informe de diagnóstico de clase de suscripción para una aplicación de Microsoft SQL Server Notification Services. El informe proporciona información como, por ejemplo, los tiempos de activación de reglas y la entrega de notificaciones según la clase de suscripción, que el usuario puede utilizar para solucionar el procesamiento de la clase de suscripción.

Sintaxis

[ schema_name . ] NSDiagnosticSubscriptionClass 
    [ @ApplicationName = ] 'app_name' ,
    [ @SubscriptionClassName = ] 'subscription_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.

[ @SubscriptionClassName = ] 'subscription_class_name'

Nombre de la clase de suscripción, tal y como especifica el archivo de definición de aplicación (ADF). subscription_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.

SubscriptionsScheduledCount

int

Número de suscripciones programadas procesadas durante el intervalo de informe.

AvgScheduledSubscriptionWaitTime

float

Para las suscripciones programadas para procesarse durante el intervalo, se trata del promedio de tiempo de retraso entre la hora programada para la suscripción y la hora real en la que el generador procesó la suscripción.

AvgScheduledNotificationGenerationTime

float

Para las suscripciones programadas para procesarse durante el intervalo, se trata del promedio de tiempo utilizado por el generador para crear datos de notificación sin formato a partir de las suscripciones programadas.

AvgScheduledSubscriptionRuleFiringTime

float

Para las suscripciones programadas para procesarse durante el intervalo, se trata del promedio de tiempo utilizado para ejecutar la regla de suscripción programada.

ScheduledNotificationBatchCount

int

Para las suscripciones programadas para procesarse durante el intervalo, se trata del número de lotes de notificaciones creados.

ScheduledNotificationCount

int

Para las suscripciones programadas para procesarse durante el intervalo, se trata del número de notificaciones creadas.

AvgScheduledNotificationBatchWaitTillDistribution

float

Promedio de tiempo que un lote de notificación generado a partir de suscripciones programadas durante el intervalo de informes tuvo que esperar hasta que el distribuidor lo recogió para distribución.

ScheduledNotificationDeliveryAttempts

int

Para las suscripciones programadas para procesarse durante el intervalo, se trata del número de intentos de entrega de notificaciones.

ScheduledNotificationSuccessfulDeliveries

int

Para las suscripciones programadas para procesarse durante el intervalo, se trata del número de notificaciones entregadas correctamente.

ScheduledNotificationFailedAttempts

int

Para las suscripciones programadas para procesarse durante el intervalo, se trata del número de intentos erróneos de entrega de notificaciones.

ScheduledNotificationsDeliveryNotAttempted

int

Para las suscripciones programadas para procesarse durante el intervalo, se trata del número de notificaciones que todavía no se han intentado entregar.

ScheduledNotificationsNotYetDelivered

int

Para las suscripciones programadas para procesarse durante el intervalo, se trata del número de notificaciones que todavía no se han entregado porque no ha habido ningún intento o porque se ha producido algún error.

ScheduledNotificationToMessageRatio

float

Para las suscripciones programadas para procesarse durante el intervalo, se trata de la proporción de notificaciones generadas para los mensajes enviados.

AvgScheduledNotificationBatchSucceedDeliveryTime

float

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.

Notas

Notification Services crea el procedimiento almacenado NSDiagnosticSubscriptionClass 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.

Las suscripciones programadas se incluyen en el intervalo de informe cuando el tiempo de activación de la regla programada es mayor que 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 las funciones de base de datos NSAnalysis y db_owner y a los miembros de 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 crea un informe de diagnóstico de clase de suscripción para la aplicación Flight y la clase de suscripción FlightSubscription. 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 50 cuantos de generador en cada intervalo de informe. El informe se inicia a las 5:00 p.m. el 23 de mayo de 2004 y finaliza a las 6:00 p.m. de ese mismo día:

EXEC dbo.NSDiagnosticSubscriptionClass 
    @ApplicationName = N'Flight', 
    @SubscriptionClassName = N'FlightSubscriptions', 
    @ReportingInterval = 50, 
    @StartDateTime = '2004-05-23 17:00', 
    @EndDateTime = '2004-05-23 18:00';

B. Utilizar valores predeterminados, esquema con nombre

En el ejemplo siguiente se crea un informe de diagnóstico de clase de suscripción para la aplicación Flight y la clase de suscripción FlightSubscription. 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 clase de suscripción para los últimos cinco cuantos.

EXEC FlightInstance.NSDiagnosticSubscriptionClass 
    @ApplicationName = N'Flight', 
    @SubscriptionClassName = N'FlightSubscriptions';

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