Partager via


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)

Aide et Informations

Assistance sur SQL Server 2005