Share via


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)

Hilfe und Informationen

Informationsquellen für SQL Server 2005