NSQuantumExecutionTime (Transact-SQL)
Gibt Informationen zum Identifizieren von lang andauernden Generatorquanten zurück, die Sie dann für eine detaillierte Analyse der Quanten verwenden können.
Syntax
[ schema_name . ] NSQuantumExecutionTime
[ @MinExecutionTime = ] min_time
[, [ @MaxExecutionTime = ] max_time ]
[, [ @SinceQuantumInitialized = ] since_init ]
Argumente
[ @MinExecutionTime = ] min_time
Gibt die minimale Ausführungszeit für ein Quantum an, das in den Bericht aufgenommen werden soll. min_time ist vom Datentyp int. Der Wert wird in Sekunden angegeben, ein Standardwert ist nicht vorhanden.
[@MaxExecutionTime = ] max_time
Gibt die maximale Ausführungszeit für ein Quantum an, das in den Bericht aufgenommen werden soll. max_time ist vom Datentyp int. Der Wert wird in Sekunden angegeben, der Standardwert beträgt min_time plus 5.
[ @SinceQuantumInitialized = ] since_init
Gibt an, ob der Bericht Quanten vor dem letzten Zurücksetzen der Quantumzeit mithilfe der gespeicherten Prozedur NSSetQuantumClock oder NSSetQuantumClockDate enthält. since_init ist vom Datentyp tinyint und kann 0 oder 1 sein. Der Standardwert ist 1. Er gibt an, dass nur Quantumperioden nach dem letzten Zurücksetzen eingeschlossen sind. 0 schließt Quantumperioden vor dem letzten Zurücksetzen ein.
Rückgabecodewerte
Keine
Resultsets
Spaltenname | Datentyp | Beschreibung |
---|---|---|
QuantumId |
int |
Eindeutige ID eines Quantums. Sie können diese ID der gespeicherten Prozedur NSQuantumDetails bereitstellen, um zusätzliche Informationen zum Quantum zu erhalten. |
QuantumStatusDescription |
nvarchar(255) |
Text, der den aktuellen Status des Quantums beschreibt. |
ExecutionTimeInMS |
bigint |
Anzahl von Millisekunden, in der der Generator das Quantum verarbeiten kann. |
QuantumStartTime |
datetime |
Startzeit (in UTC) des vom Quantum dargestellten Zeitraumes. |
QuantumEndTime |
datetime |
Beendigungszeit (in UTC) des vom Quantum dargestellten Zeitraumes. Die Beendigungszeit entspricht der Startzeit plus der Quantumdauer. |
ExecutionStartTime |
datetime |
Das reale Datum und die Zeit in UTC, zu der der Generator die Verarbeitung des Quantums gestartet hat. |
ExecutionEndTime |
datetime |
Das reale Datum und die Zeit in UTC, zu der der Generator die Verarbeitung des Quantums beendet hat. |
QuantumDurationLimit |
nvarchar(20) |
Gibt an, ob die Ausführungszeit des Quantums unter oder über der in der Anwendungsdefinitionsdatei (ADF, Application Definition File) definierten Quantumdauer gelegen hat. |
ChronicleQuantumLimit |
nvarchar(20) |
Gibt an, ob die Ausführungszeit des Quantums größer war als ChronicleQuantumLimit * QuantumDuration (in der ADF definiert). Dies zeigt an, ob die Anwendung wegen der für die Ausführung des Quantums benötigten Zeit ihr Verlaufsquantumlimit überschritten hat. |
SubscriptionQuantumLimit |
nvarchar(20) |
Gibt an, ob die Ausführungszeit des Quantums größer war als SubscriptionQuantumLimit * QuantumDuration (in der ADF definiert). Dies zeigt an, ob die Anwendung wegen der für die Ausführung des Quantums benötigten Zeit ihr Abonnementquantumlimit überschritten hat. |
ChronicleRuleFiringCount |
int |
Anzahl der Auslösungen von Ereignisverlaufsregeln im Quantum. |
EventSubscriptionRuleFiringCount |
int |
Anzahl der Auslösungen von Ereignisabonnementregeln im Quantum. |
ScheduledSubscriptionRuleFiringCount |
int |
Anzahl der geplanten Auslösung von Abonnementregeln im Quantum. |
EventNotificationsGenerated |
int |
Die Anzahl der Benachrichtigungen, die während der Ausführung des Quantums aus Regeln generiert werden, die durch Ereignisse ausgelöst werden. |
ScheduledNotificationsGenerated |
int |
Die Anzahl der Benachrichtigungen, die während der Ausführung des Quantums aus geplanten Abonnementregeln generiert werden. |
Hinweise
Notification Services erstellt die gespeicherte Prozedur NSQuantumExecutionTime in der Anwendungsdatenbank, wenn Sie die Instanz erstellen. Wenn Sie die Anwendung aktualisieren, führt Notification Services eine erneute Kompilierung der gespeicherten Prozedur aus.
Diese gespeicherte Prozedur befindet sich im Anwendungsschema, das vom SchemaName-Element der Anwendungsdefinitionsdatei (ADF, Application Definition File) angegeben wird. Falls kein Schemaname bereitgestellt wurde, wird dbo als Standardschema verwendet.
Nachdem Sie ein auffälliges Quantum identifiziert haben, müssen Sie es möglicherweise weiter analysieren. Details zum Quantum können Sie mit der gespeicherten Prozedur NSQuantumDetails abrufen.
Berechtigungen
Standardmäßig verfügen Mitglieder der NSAnalysis-Datenbankrolle, der festen Datenbankrolle db_owner und der festen Serverrolle sysadmin über Ausführungsberechtigungen.
Beispiele
A. Verwenden von Standardwerten
In diesem Beispiel wird das Erstellen eines Berichts zur Quantumausführungszeit für alle Quanten gezeigt, für deren Ausführung zwischen 0 und 5 Sekunden seit der letzten Initialisierung benötigt wurden.
Von der Anwendung werden die standardmäßigen SchemaName-Einstellungen verwendet, wodurch alle Anwendungsobjekte im dbo-Schema platziert werden.
EXEC dbo.NSQuantumExecutionTime
@MinExecutionTime = 0;
B. Zurückgeben aller Quanten innerhalb der Minimum- und Maximumwerte
In diesem Beispiel wird das Erstellen eines Berichts zur Quantumausführungszeit für alle Generator-Quanten gezeigt, die länger als 30 Sekunden, jedoch kürzer als 35 Sekunden ausgeführt wurden (der Wert NULL ist gleich min_time + 5).
In diesem Beispiel befindet sich die gespeicherte Prozedur (wie alle anderen Anwendungsobjekte) im Stock-Schema, wie es im SchemaName-Element der ADF angegeben ist.
EXEC Stock.NSQuantumExecutionTime
@MinExecutionTime = 30,
@MaxExecutionTime = NULL,
@SinceQuantumInitialized = 0;
Siehe auch
Verweis
Gespeicherte Prozeduren in Notification Services (Transact-SQL)
NSQuantumDetails (Transact-SQL)
Andere Ressourcen
Notification Services-Leistungsberichte
SchemaName Element (ADF)