Partager via


NSDiagnosticSubscriptionClass (Transact-SQL)

Produit le rapport de diagnostic de classe d'abonnement pour une application Microsoft SQL Server Notification Services. Ce rapport fournit des informations utilisables pour résoudre des problèmes de traitement de classe d'abonnement, par exemple les moments d'activation des règles et la remise de notifications basée sur la classe d'abonnement.

Syntaxe

[ schema_name . ] NSDiagnosticSubscriptionClass 
    [ @ApplicationName = ] 'app_name' ,
    [ @SubscriptionClassName = ] 'subscription_class_name' 
    [, [ @ReportingInterval = ] interval ] 
    [, [ @StartDateTime = ] 'start_date_time' ] 
    [, [ @EndDateTime = ] 'end_date_time' ] 

Arguments

[ @ApplicationName = ] 'app_name'

Nom d'une application, tel qu'il est défini dans le fichier de configuration. L'argument app_name est de type nvarchar(255) et n'a pas de valeur par défaut.

[ @SubscriptionClassName = ] 'subscription_class_name'

Nom de la classe d'abonnement, tel qu'il est défini dans le fichier de définition de l'application. L'argument subscription_class_name est de type nvarchar(255) et n'a pas de valeur par défaut.

[ @ReportingInterval = ] interval

Nombre de quanta de générateur dans chaque intervalle de rapport. Le rapport contient une ligne par intervalle. L'argument interval est de type int, avec 1 comme valeur par défaut pour indiquer un quantum de générateur par intervalle.

La durée du quantum est définie dans le fichier ADF.

[ @StartDateTime = ] 'start_date_time'

Date et heure de début du rapport au format UTC (Coordinated Universal Time) ou GMT (Greenwich Mean Time). L'argument start_date_time est de type datetime. La valeur par défaut est @EndDateTime - (5 * QuantumDuration * @ReportingInterval). Lorsque vous utilisez la valeur par défaut, l'ensemble de résultats contient au maximum cinq lignes représentant chacune un intervalle de rapport.

[ @EndDateTime = ] 'end_date_time'

Date et heure de fin de rapport, en heure UTC. L'argument end_date_time est de type datetime. La valeur par défaut est l'heure à laquelle vous appelez la procédure stockée (format UTC).

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Notes

Au moment de la création de l'instance, Notification Services crée la procédure stockée NSDiagnosticSubscriptionClass dans la base de données d'instance. Lors de la mise à jour de l'instance, Notification Services recompile la procédure stockée.

Cette procédure stockée se trouve dans le schéma de l'instance qui est spécifié par l'élément SchemaName du fichier de configuration d'instance (ICF). Si aucun nom de schéma n'est fourni, le schéma par défaut est dbo.

Les abonnements planifiés font partie de l'intervalle de rapport lorsque le moment d'activation de la règle planifiée est supérieur à IntervalStartDateTime et inférieur ou égal à IntervalEndDateTime.

Pour déterminer la date et l'heure UTC actuelles, exécutez SELECT GETUTCDATE() dans SQL Server Management Studio. L'heure UTC actuelle est dérivée du paramètre d'heure locale et de fuseau horaire du système d'exploitation de l'ordinateur sur lequel est exécuté SQL Server.

Autorisations

Les autorisations d'exécution sont attribuées par défaut aux membres des rôles de base de données NSAnalysis et db_owner ainsi qu'aux membres du rôle de serveur fixe sysadmin.

Ensembles de résultats

Nom de la colonne Type de données Description

IntervalStartDateTime

datetime

Date et heure de début UTC de l'intervalle de rapport.

IntervalEndDateTime

datetime

Date et heure de fin UTC de l'intervalle de rapport.

SubscriptionsScheduledCount

int

Nombre d'abonnements planifiés qui ont été traités durant l'intervalle de rapport.

AvgScheduledSubscriptionWaitTime

float

Pour les abonnements dont le traitement a été planifié pendant l'intervalle, le temps de décalage moyen entre l'horaire planifié pour l'abonnement et l'heure réelle à laquelle le générateur a traité l'abonnement.

AvgScheduledNotificationGenerationTime

float

Pour les abonnements dont le traitement a été planifié pendant l'intervalle, la durée moyenne nécessaire au générateur pour créer des données de notification brutes à partir d'abonnements planifiés.

AvgScheduledSubscriptionRuleFiringTime

float

Pour les abonnements dont le traitement a été planifié pendant l'intervalle, la durée moyenne nécessaire à l'exécution de la règle d'abonnement planifiée.

ScheduledNotificationBatchCount

int

Pour les abonnements dont le traitement a été planifié pendant l'intervalle, le nombre de lots de notifications créés.

ScheduledNotificationCount

int

Pour les abonnements dont le traitement a été planifié pendant l'intervalle, le nombre de notifications créées.

AvgScheduledNotificationBatchWaitTillDistribution

float

Durée moyenne d'attente d'un lot de notifications créé à partir d'abonnements planifiés durant l'intervalle de rapport, avant que le serveur de distribution le sélectionne pour la distribution.

ScheduledNotificationDeliveryAttempts

int

Pour les abonnements dont le traitement a été planifié pendant l'intervalle, le nombre de tentatives de remise des notifications.

ScheduledNotificationSuccessfulDeliveries

int

Pour les abonnements dont le traitement a été planifié pendant l'intervalle, le nombre de remises de notifications réussies.

ScheduledNotificationFailedAttempts

int

Pour les abonnements dont le traitement a été planifié pendant l'intervalle, le nombre de tentatives de remise de notifications qui ont échoué.

ScheduledNotificationsDeliveryNotAttempted

int

Pour les abonnements dont le traitement a été planifié pendant l'intervalle, le nombre de notifications pour lesquelles aucune tentative de remise n'a été encore effectuée.

ScheduledNotificationsNotYetDelivered

int

Pour les abonnements dont le traitement a été planifié pendant l'intervalle, le nombre de notifications non encore remises en raison d'une absence de tentative ou d'une tentative soldée par un échec.

ScheduledNotificationToMessageRatio

float

Pour les abonnements dont le traitement a été planifié pendant l'intervalle, la proportion de notifications créées par rapport aux messages envoyés.

AvgScheduledNotificationBatchSucceedDeliveryTime

float

Pour la remise de type digest ou la remise par multidiffusion, un message peut contenir plusieurs notifications. Cette colonne indique combien de notifications en moyenne sont comprises dans les messages de type digest ou de multidiffusion.

Exemples

A. Définition des valeurs d'intervalle de rapport, d'heure de début et d'heure de fin

L'exemple suivant produit le rapport de diagnostic de la classe d'abonnement pour l'application Flight et la classe d'abonnement FlightSubscriptions. L'instance utilise les paramètres de base de données par défaut, ce qui place tous les objets d'instance dans le schéma dbo.

Le rapport inclut 50 quanta de générateur dans chaque intervalle de rapport. Il débute le 23 mai 2004 à 17 heures et se termine à 18 heures le même jour :

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

B. Utilisation des valeurs par défaut et du schéma nommé

L'exemple suivant produit le rapport de diagnostic de la classe d'abonnement pour l'application Flight et la classe d'abonnement FlightSubscriptions. Dans cet exemple, la procédure stockée (comme tous les autres objets d'instance) se trouve dans le schéma FlightInstance, comme spécifié dans l'élément SchemaName du fichier de configuration d'instance.

Le rapport utilise des valeurs par défaut spécifiant l'affichage des données de classe d'abonnement pour les cinq derniers quanta.

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

Voir aussi

Référence

Procédures stockées de Notification Services (Transact-SQL)

Autres ressources

Rapports de performances de Notification Services
SchemaName Element (ICF)

Aide et Informations

Assistance sur SQL Server 2005