Partager via


NSDiagnosticEventClass (Transact-SQL)

Produit le rapport de classe d'événements pour une application Microsoft SQL Server Notification Services. Ce rapport peut vous aider à résoudre des problèmes de collecte d'événements et vous renseigner sur le traitement des événements effectué par l'application.

Syntaxe

[ schema_name . ] NSDiagnosticEventClass 
    [ @ApplicationName = ] 'app_name' ,
    [ @EventClassName = ] 'event_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.

[ @EventClassName = ] 'event_class_name'

Nom d'une classe d'événements dans l'application. L'argument event_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 d'application (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). 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 l'heure à laquelle vous appelez la procédure stockée (au 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 NSDiagnosticEventClass 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 définition de l'instance. Si aucun nom de schéma n'est fourni, le schéma par défaut est dbo.

Les lots d'événements sont comptabilisés dans l'intervalle de rapport lorsque la valeur de EndCollectionTime 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 actuelle locale et du paramètre de fuseau horaire du système d'exploitation de l'ordinateur exécutant SQL Server.

Autorisations

Les autorisations d'exécution reviennent par défaut aux membres du rôle de base de données NSAnalysis, aux membres du rôle de base de données fixe db_owner et 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 de l'intervalle de rapport au format UTC.

IntervalEndDateTime

datetime

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

EventBatchesCollectedCount

int

Nombre de lots d'événements collectés pendant l'intervalle de rapport. Seuls les lots ayant achevé le processus de collecte au cours de l'intervalle sont comptabilisés.

UnfinishedEventBatches

int

Nombre de lots d'événements entamés mais non achevés durant l'intervalle de rapport.

AvgEventBatchEventCount

float

Pour les lots d'événements collectés durant l'intervalle de rapport, le nombre moyen d'événements par lot.

AvgEventsCollectedPerSecond

float

Pour les lots d'événements collectés durant l'intervalle de rapport, le nombre moyen d'événements par seconde.

AvgGeneratorPickupWaitPerBatch

float

Pour les lots d'événements collectés durant l'intervalle de rapport, la durée moyenne (en secondes) nécessaire au générateur pour traiter le lot d'événements (en y appliquant une règle d'abonnement d'événements ou de chronique d'événements).

AvgEventChronicleRuleFiringTimePerBatch

float

Pour les lots d'événements collectés durant l'intervalle de rapport, la durée moyenne (en secondes) nécessaire à l'exécution des règles de chronique d'événements.

AvgEventSubscriptionRuleFiringTimePerBatch

float

Pour les lots d'événements collectés durant l'intervalle de rapport, la durée moyenne (en secondes) nécessaire à l'exécution des règles d'abonnement d'événements.

EventNotificationBatchCount

int

À partir des lots d'événements collectés durant l'intervalle de rapport, le nombre de lots de notifications générés.

EventNotificationsGeneratedCount

int

À partir des lots d'événements collectés durant l'intervalle de rapport, le nombre de notifications créées.

AvgEventNotificationBatchGenerationTime

float

Pour les lots d'événements collectés durant l'intervalle de rapport, la durée moyenne (en secondes) nécessaire au générateur pour créer des lots de notifications.

AvgEventNotificationBatchWaitTillDistribution

float

Pour les lots d'événements collectés durant l'intervalle de rapport, la durée d'attente moyenne (en secondes) des lots de notifications avant leur traitement par le serveur de distribution.

EventNotificationDeliveryAttempts

int

Nombre de tentatives de remise de notifications créées à partir d'événements collectés durant l'intervalle de rapport.

EventNotificationSuccessfulDeliveries

int

Pour les lots d'événements collectés durant l'intervalle de rapport, le nombre de remises de notifications réussies.

EventNotificationFailedAttempts

int

Pour les lots d'événements collectés durant l'intervalle de rapport, le nombre de remises de notifications ayant échoué.

EventNotificationsDeliveryNotAttempted

int

Pour les lots d'événements collectés durant l'intervalle de rapport, le nombre de notifications qui n'ont pas encore fait l'objet d'une tentative de remise par le serveur de distribution.

EventNotificationsNotYetDelivered

int

Pour les lots d'événements collectés durant l'intervalle de rapport, le nombre de notifications qui n'ont pas encore été remises, soit parce qu'il n'y a pas eu de tentative de remise, soit parce qu'elle s'est soldée par un échec.

EventNotificationToMessageRatio

float

Pour les lots d'événements collectés durant l'intervalle de rapport, la proportion de notifications créées par rapport aux messages envoyés.

Pour la remise de type digest ou la remise par multidiffusion, un message peut contenir plusieurs notifications. Cette colonne indique le nombre de notifications incluses en moyenne dans des messages de type digest ou par multidiffusion.

AvgEventNotificationBatchSucceedDeliveryTime

float

Pour les notifications créées à partir des lots d'événements de l'intervalle, la durée moyenne d'envoi des notifications via le processus de distribution.

Exemples

A. Spécification de l'intervalle de rapport ainsi que des heures de début et de fin

L'exemple suivant produit le rapport de diagnostic de la classe d'événements pour l'application Flight et la classe d'événements FlightEvents. 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 40 quanta de générateur dans chaque intervalle de rapport. Il débute le 23.05.04 à 17 heures et se termine à 18 heures le même jour (en UTC) :

EXEC dbo.NSDiagnosticEventClass 
    @ApplicationName = N'Flight', 
    @EventClassName = N'FlightEvents', 
    @ReportingInterval = 40, 
    @StartDateTime = '2004-05-23 17:00', 
    @EndDateTime = '2004-05-23 18:00';

B. Utilisation de valeurs par défaut et d'un schéma nommé

L'exemple suivant produit le rapport de diagnostic de la classe d'événements pour l'application Flight et la classe d'événements FlightEvents. Dans cet exemple, la procédure stockée (comme tous les objets de l'instance) se trouve dans le schéma FlightInstance, comme spécifié dans 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.NSDiagnosticEventClass
    @ApplicationName = N'Flight',
    @EventClassName = N'FlightEvents';

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