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)