NSDiagnosticNotificationClass (Transact-SQL)
Génère le rapport de la classe de notification pour une application Microsoft SQL Server Notification Services. Ce rapport fournit des informations sur le nombre de notifications et de lots de notifications traités par la classe de notification, et indique si les notifications ont put être remises.
Syntaxe
[ schema_name . ] NSDiagnosticNotificationClass
[ @ApplicationName = ] 'app_name' ,
[ @NotificationClassName = ] 'notification_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.
[ @NotificationClassName=] 'notification_class_name'
Nom de la classe de notification, tel qu'il est défini dans le fichier de définition de l'application. L'argument notification_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 de définition de l'application.
[ @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 (5 * QuantumDuration * @ReportingInterval) avant la valeur de @EndDateTime. Avec la valeur par défaut, l'ensemble de résultats contient cinq lignes au plus, chacune d'elles représentant 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 le résultat de la fonction GETUTCDATE, qui retourne l'heure de l'appel de la procédure stockée.
Valeurs des codes de retour
0 (succès) ou 1 (échec)
Notes
Notification Services crée la procédure stockée NSDiagnosticNotificationClass dans la base de données de l'instance lorsque vous créez l'instance. Lorsque vous mettez à jour l'instance, Notification Services recompile la procédure stockée.
Cette procédure stockée se trouve dans le schéma de l'instance, spécifié par l'élément SchemaName du fichier de définition de l'instance. Si aucun nom de schéma n'est spécifié, le schéma par défaut est dbo.
Les lots de notifications sont compris dans un intervalle de rapport lorsque la valeur de EndGenerationTime est supérieure à IntervalStartDateTime et inférieure ou égale à 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 de l'heure locale actuelle et du fuseau horaire défini dans le système d'exploitation de l'ordinateur sur lequel SQL Server est exécuté.
Autorisations
Les autorisations d'exécution sont octroyées par défaut aux membres du rôle de base de données NSAnalysis, du rôle de base de données fixe db_owner et 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 de l'intervalle de rapport au format UTC. |
IntervalEndDateTime |
datetime |
Date et heure de fin de l'intervalle de rapport au format UTC. |
NotificationBatchesGenerated |
int |
Pour la classe de notification, nombre de lots de notifications créés pendant l'intervalle de rapport. |
NotificationsGenerated |
int |
Pour la classe de notification, nombre de notifications générées pendant l'intervalle de rapport. |
NotificationsGeneratedPerSecond |
float |
Pour la classe de notification, nombre de notifications générées par seconde pendant l'intervalle de rapport. |
AvgNotificationBatchWaitTillDistribution |
float |
Pour la classe de notification, temps d'attente moyen avant que le serveur de distribution sélectionne un lot de notifications pendant l'intervalle de rapport. |
NotificationDeliveryAttempts |
int |
Pour les lots de notifications de la classe de notification donnée qui ont été créés pendant l'intervalle de rapport, nombre de tentatives de remise de notification. |
NotificationSuccessfulDeliveries |
int |
Pour les lots de notifications de la classe de notification donnée qui ont été créés pendant l'intervalle de rapport, nombre de notifications remises. |
NotificationFailedAttempts |
int |
Pour les lots de notifications de la classe de notification donnée qui ont été créés pendant l'intervalle de rapport, nombre de tentatives de remise de notification qui ont échoué. |
NotificationsDeliveryNotAttempted |
int |
Pour les lots de notifications de la classe de notification donnée qui ont été créés pendant l'intervalle de rapport, nombre de notifications que le serveur de distribution n'a pas encore essayé de remettre. |
NotificationsNotYetDelivered |
int |
Pour les lots de notifications de la classe de notification donnée qui ont été créés pendant l'intervalle de rapport, nombre de notifications non remises, soit parce qu'il n'y a pas eu de tentative de remise, soit parce que ces tentatives ont échoué. |
NotificationToMessageRatio |
float |
Pour les lots de notifications créés pendant l'intervalle de rapport, ratio des notifications créées par rapport aux messages envoyés. Pour une remise de type digest ou par multidiffusion, un message peut inclure plusieurs notifications. Cette colonne indique le nombre de notifications, en moyenne, incluses dans des messages de type digest ou par multidiffusion. |
AvgNotificationBatchSucceedDeliveryTime |
float |
Pour les lots de notifications créés pendant l'intervalle de rapport, temps moyen pour parvenir à envoyer des notifications via le processus de distribution. |
Exemples
A. Spécification de l'intervalle de rapport, de l'heure de début et de l'heure de fin
L'exemple suivant génère le rapport de diagnostic de la classe de notification pour l'application Flight et la classe de notification FlightNotifications. L'instance utilise les paramètres de base de données par défaut, qui placent tous les objets de l'instance dans le schéma dbo.
Le rapport inclut 60 quanta de générateur dans chaque intervalle de rapport. Il commence à 17 heures le 23 mai 2002 et se termine à 18 heures le même jour :
EXEC dbo.NSDiagnosticNotificationClass
@ApplicationName = N'Flight',
@NotificationClassName = N'FlightNotifications',
@ReportingInterval = 60,
@StartDateTime = '2004-05-23 17:00',
@EndDateTime = '2004-05-23 18:00';
B. Utilisation des valeurs par défaut et d'un schéma nommé
L'exemple suivant génère le rapport de diagnostic de la classe de notification pour l'application Flight et la classe de notification FlightNotifications. Dans cet exemple, la procédure stockée (comme tous les objets de l'instance) se trouve dans le schéma FlightInstance, tel que le spécifie l'élément SchemaName du fichier de configuration de l'instance.
Le rapport utilise des valeurs par défaut, spécifiant l'affichage des données des cinq derniers quanta de générateur.
EXEC FlightInstance.NSDiagnosticNotificationClass
@ApplicationName = N'Flight',
@NotificationClassName = N'FlightNotifications';
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)