NSQuantumExecutionTime (Transact-SQL)
Renvoie des informations qui vous permettent d'identifier les quanta de générateur dont l'exécution est longue ; ces renseignements peuvent ensuite servir à approfondir l'analyse de ces quanta.
Syntaxe
[ schema_name . ] NSQuantumExecutionTime
[ @MinExecutionTime = ] min_time
[, [ @MaxExecutionTime = ] max_time ]
[, [ @SinceQuantumInitialized = ] since_init ]
Arguments
[ @MinExecutionTime = ] min_time
Spécifie la durée d'exécution minimale permettant d'inclure un quantum dans le rapport. L'argument min_time est de type int, est exprimé en secondes et ne possède pas de valeur par défaut.
[@MaxExecutionTime = ] max_time
Spécifie la durée d'exécution maximale permettant d'inclure un quantum dans le rapport. L'argument max_time est de type int, se définit en secondes et a une valeur par défaut de min_time plus 5.
[ @SinceQuantumInitialized = ] since_init
Spécifie si le rapport inclut des quanta antérieurs à la dernière réinitialisation de l'horloge de quantum par le biais de la procédure stockée NSSetQuantumClock ou NSSetQuantumClockDate. L'argument since_init est de type tinyint et peut afficher les valeurs 0 ou 1. La valeur par défaut 1 comprend uniquement les périodes de quantum postérieures à la dernière réinitialisation. La valeur 0 comprend les périodes antérieures à la dernière réinitialisation.
Valeurs des codes de retour
Aucune
Notes
Notification Services crée la procédure stockée NSQuantumExecutionTime dans la base de données d'application au moment de la création de l'instance. Lors de la mise à jour de l'application, Notification Services recompile la procédure stockée.
Cette procédure stockée se trouve dans le schéma de l'application qui est spécifié par l'élément SchemaName du fichier de définition d'application (ADF). Si aucun nom de schéma n'est fourni, le schéma par défaut est dbo.
Lorsque vous aurez identifié un quantum intéressant, vous serez peut-être amené à effectuer des analyses supplémentaires. Pour plus d'informations sur le quantum, utilisez la procédure stockée NSQuantumDetails.
Autorisations
Les autorisations d'exécution sont attribuées 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 |
---|---|---|
QuantumId |
int |
ID unique d'un quantum. Vous pouvez indiquer cet identificateur dans la procédure stockée NSQuantumDetails pour obtenir des informations supplémentaires sur le quantum. |
QuantumStatusDescription |
nvarchar(255) |
Texte descriptif sur l'état actuel du quantum. |
ExecutionTimeInMS |
bigint |
Nombre de millisecondes nécessaires au générateur pour traiter le quantum. |
QuantumStartTime |
datetime |
Heure UTC de début pour l'intervalle de temps que le quantum représente. |
QuantumEndTime |
datetime |
Heure UTC de fin pour l'intervalle de temps que le quantum représente. Il correspond à l'heure de début plus la durée du quantum. |
ExecutionStartTime |
datetime |
Date et heure réelles UTC auxquelles le générateur a commencé le traitement du quantum. |
ExecutionEndTime |
datetime |
Date et heure réelles UTC auxquelles le générateur a terminé le traitement du quantum. |
QuantumDurationLimit |
nvarchar(20) |
Indique si le temps d'exécution du quantum a dépassé ou n'a pas atteint la durée de quantum défini par le fichier de définition d'application (ADF). |
ChronicleQuantumLimit |
nvarchar(20) |
Indique si le temps d'exécution du quantum était supérieur à ChronicleQuantumLimit * QuantumDuration (défini dans le fichier ADF). Ceci indique si le temps nécessaire au quantum a obligé l'application à dépasser son nombre maximal de quanta de chronique. |
SubscriptionQuantumLimit |
nvarchar(20) |
Indique si le temps d'exécution du quantum était supérieur à SubscriptionQuantumLimit * QuantumDuration (défini dans le fichier ADF). Ceci indique si le temps nécessaire au quantum a obligé l'application à dépasser son nombre maximal de quanta d'abonnement. |
ChronicleRuleFiringCount |
int |
Nombre d'activations de règles de chronique d'événements dans le quantum. |
EventSubscriptionRuleFiringCount |
int |
Nombre d'activations de règles d'abonnement d'événements dans le quantum. |
ScheduledSubscriptionRuleFiringCount |
int |
Nombre d'activations de règles d'abonnement planifiées dans le quantum. |
EventNotificationsGenerated |
int |
Lors de l'exécution d'un quantum, le nombre de notifications découlant des règles déclenchées par des événements. |
ScheduledNotificationsGenerated |
int |
Lors de l'exécution d'un quantum, le nombre de notifications découlant des règles d'abonnement planifiées. |
Exemples
A. Utilisation des valeurs par défaut
L'exemple suivant illustre l'élaboration d'un rapport sur le temps d'exécution des quanta qui ont demandé entre 0 et 5 secondes pour s'exécuter depuis la dernière initialisation.
L'application utilise les paramètres par défaut de SchemaName, ce qui place tous les objets d'application dans le schéma dbo.
EXEC dbo.NSQuantumExecutionTime
@MinExecutionTime = 0;
B. Renvoi de tous les quanta compris entre les valeurs minimales et maximales
L'exemple suivant illustre l'élaboration d'un rapport sur le temps d'exécution des quanta pour tous les quanta de générateur qui ont dépassé 30 secondes, mais n'ont pas atteint 35 secondes (la valeur NULL est identique à min_time + 5).
Dans cet exemple, la procédure stockée (comme tous les objets d'application) se trouve dans le schéma Stock, comme spécifié dans l'élément SchemaName du fichier ADF.
EXEC Stock.NSQuantumExecutionTime
@MinExecutionTime = 30,
@MaxExecutionTime = NULL,
@SinceQuantumInitialized = 0;
Voir aussi
Référence
Procédures stockées de Notification Services (Transact-SQL)
NSQuantumDetails (Transact-SQL)
Autres ressources
Rapports de performances de Notification Services
SchemaName Element (ADF)