NSQuantumPerformance (Transact-SQL)
Gibt Informationen zu den Ausführungszeiten von Anwendungsquanten zurück. Im Resultset werden Quanten nach der Dauer ihrer Ausführungszeit gruppiert, wobei die Anzahl von Quanten in verschiedenen Ausführungszeitbereichen angezeigt wird. Dies kann bei der Problembehandlung von Quanten mit langer Ausführungszeit behilflich sein.
Syntax
[ application_schema_name . ] NSQuantumPerformance
[ [ @ReportingInterval = ] interval ]
[, [ @SinceQuantumInitialized = ] since_init ]
Argumente
[ @ReportingInterval = ] interval
Bezeichnet die Zeitspanne (in Sekunden) eines Ausführungszeitbereichs im Resultset. Der Bericht enthält eine Zeile pro Zeitbereich.
interval ist ein Wert vom Datentyp int; der Standardwert ist 5, was für fünf Sekunden pro Zeitbereich steht.
[ @SinceQuantumInitialized = ] since_init
Gibt an, ob der Bericht Quanten vor dem letzten Zurücksetzen der Quantumuhr mithilfe der gespeicherten Prozeduren NSSetQuantumClock oder NSSetQuantumClockDate einschließt. since_init ist ein Wert vom Datentyp tinyint und kann entweder 0 oder 1 sein. Der Standardwert ist 1, wobei 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 |
---|---|---|
MinimumExecutionTime |
int |
Quantumausführungszeit in Sekunden für die untere Grenze des Ausführungszeitbereichs. |
MaximumExecutionTime |
int |
Quantumausführungszeit in Sekunden für die obere Grenze des Ausführungszeitbereichs. |
CountOfQuantums |
int |
Anzahl von Quanten, deren Ausführungszeit größer als oder gleich dem Minimum Execution Time-Wert der Zeile, jedoch kleiner als der Maximum Execution Time-Wert der Zeile ist. |
QuantumDuration |
nvarchar(255) |
Gibt an, ob der Zeitbereich für diese Berichtzeile Zeiten einschließt, die die in der Anwendungsdefinitionsdatei (ADF, Application Definition File) definierte Quantumdauer überschreiten. Wenn die Quantumausführung länger dauert als die Quantumdauer, gerät der Generator in Rückstand. Mögliche Werte sind Under, Over und Maybe over. |
ChronicleQuantumLimit |
nvarchar(255) |
Gibt an, ob der Zeitbereich für diese Berichtzeile Zeiten einschließt, die das Ergebnis von ChronicleQuantumLimit * QuantumDuration (gemäß Definition in der ADF) überschreiten. Wenn die Quantumausführung diese Zeit überschreitet, werden möglicherweise Verlaufsregelausführungen ausgelassen. Mögliche Werte sind Under, Over und Maybe over. |
SubscriptionQuantum Limit |
nvarchar(255) |
Gibt an, ob der Zeitbereich für diese Berichtzeile Zeiten einschließt, die das Ergebnis von SubscriptionQuantumLimit * QuantumDuration (gemäß Definition in der ADF) überschreiten. Wenn die Quantumausführung diese Zeit überschreitet, werden möglicherweise Abonnementregelausführungen ausgelassen. Mögliche Werte sind Under, Over und Maybeover. |
Hinweise
Microsoft SQL Server Notification Services erstellt die gespeicherte Prozedur NSQuantumPerformance in der Anwendungsdatenbank, wenn Sie die Instanz erstellen. Wenn Sie die Anwendung aktualisieren, kompiliert Notification Services die gespeicherte Prozedur erneut.
Diese gespeicherte Prozedur ist Bestandteil des Anwendungsschemas, das durch das SchemaName-Element der Anwendungsdefinitionsdatei angegeben wird. Wenn kein Schemaname bereitgestellt wird, ist dbo das Standardschema.
Die Werte QuantumDuration, ChronicleQuantumLimit und SubscriptionQuantumLimit geben an, ob die Dauer von Quanten im Berichtintervall über oder unter der für die Anwendung erwarteten Zeit lag. Die Werte in diesen Spalten geben Folgendes an:
- Over gibt an, dass der MinimumExecutionTime-Wert über der Quantumgrenze liegt; alle in der Zeile gemeldeten Quanten haben die Quantumgrenze überschritten.
- Under gibt an, dass der MaximumExecutionTime-Wert unter der Quantumgrenze liegt; alle in der Zeile gemeldeten Quanten haben die Quantumgrenze unterschritten.
- Maybe over gibt an, dass der MinimumExecutionTime-Wert kleiner als oder gleich der Quantumgrenze ist und dass der MaximumExecutionTime-Wert größer als oder gleich der Quantumgrenze ist; die Ausführung einiger Quanten hat möglicherweise den MaximumExecutionTime-Wert überschritten.
Berechtigungen
Die Ausführungsberechtigungen erhalten standardmäßig Mitglieder der NSAnalysis-Datenbankrolle, der festen Datenbankrolle db_owner und der festen Serverrolle sysadmin.
Beispiele
A. Verwenden von Standardwerten
Im folgenden Beispiel wird das Erstellen des Quantumleistungsberichts mithilfe eines Berichtintervalls von fünf Sekunden mithilfe des Standardwertes für @SinceQuantumInitialized veranschaulicht. Dies schließt nur die Quanten ein, die nach der letzten Initialisierung der Quantumuhr verarbeitet wurden.
Für die Anwendung werden die SchemaName-Standardeinstellungen verwendet, worunter alle Anwendungsobjekte im dbo-Schema angeordnet werden.
EXEC dbo.NSQuantumPerformance;
B. Verwenden aller Quanten und Angeben des Berichtintervalls
Im folgenden Beispiel wird das Erstellen des Quantumleistungsberichts mithilfe eines Berichtintervalls von 60 Sekunden veranschaulicht, wobei die Quantenverarbeitung vor der letzten Initialisierung der Quantumuhr eingeschlossen ist.
In diesem Beispiel befindet sich die gespeicherte Prozedur (wie alle anderen Anwendungsobjekte) im Stock-Schema gemäß Definition im SchemaName-Element der ADF.
EXEC Stock.NSQuantumPerformance
@ReportingInterval = 60,
@SinceQuantumInitialized = 1;
Siehe auch
Verweis
Gespeicherte Prozeduren in Notification Services (Transact-SQL)
Andere Ressourcen
Notification Services-Leistungsberichte
SchemaName Element (ADF)