NSDiagnosticSubscriptionClass (Transact-SQL)
Erstellt den Abonnementklassen-Diagnosebericht für eine Microsoft SQL Server Notification Services-Anwendung. Der Bericht stellt Informationen wie z. B. Regelauslösungszeiten und die Übermittlung von Benachrichtigungen auf der Grundlage von Abonnementklassen bereit, die Sie zur Problembehandlung bei der Verarbeitung von Abonnementklassen verwenden können.
Syntax
[ schema_name . ] NSDiagnosticSubscriptionClass
[ @ApplicationName = ] 'app_name' ,
[ @SubscriptionClassName = ] 'subscription_class_name'
[, [ @ReportingInterval = ] interval ]
[, [ @StartDateTime = ] 'start_date_time' ]
[, [ @EndDateTime = ] 'end_date_time' ]
Argumente
[ @ApplicationName = ] 'app_name'
Der Name einer Anwendung gemäß Definition in der Konfigurationsdatei. app_name ist vom Datentyp nvarchar(255) und hat keinen Standardwert.
[ @SubscriptionClassName = ] 'subscription_class_name'
Der Name der Abonnementklasse gemäß Definition in der Anwendungsdefinitionsdatei (ADF, Application Definition File). subscription_class_name ist vom Datentyp nvarchar(255) und hat keinen Standardwert.
[ @ReportingInterval = ] interval
Ist die Anzahl der Generatorquanten in einem Berichtsintervall. Der Bericht enthält eine Zeile pro Intervall. interval ist vom Datentyp int. Der Standardwert ist 1, was für ein Generatorquantum pro Intervall steht.
Die Quantumdauer ist in der Anwendungsdefinitionsdatei (ADF, Application Definition File) definiert.
[ @StartDateTime = ] 'start_date_time'
Ist das Startdatum und die Startzeit des Berichts in UTC (Coordinated Universal Time oder Greenwich Mean Time). start_date_time ist vom Datentyp datetime. Der Standardwert ist @EndDateTime - (5 * QuantumDuration * @ReportingInterval). Das Resultset enthält bei Verwendung des Standardwertes maximal fünf Zeilen, wobei jede Zeile für ein Berichtsintervall steht.
[ @EndDateTime = ] 'end_date_time'
Das Beendigungsdatum und die Beendigungszeit des Berichts in UTC. end_date_time ist vom Datentyp datetime. Der Standardwert ist die Uhrzeit, zu der Sie die gespeicherte Prozedur aufrufen (in UTC).
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Resultsets
Spaltenname | Datentyp | Beschreibung |
---|---|---|
IntervalStartDateTime |
datetime |
Startdatum und -zeit für das Berichtsintervall in UTC. |
IntervalEndDateTime |
datetime |
Beendigungsdatum und -zeit für das Berichtsintervall in UTC. |
SubscriptionsScheduledCount |
int |
Anzahl von geplanten Abonnements, die während des Berichtsintervalls verarbeitet werden. |
AvgScheduledSubscriptionWaitTime |
float |
Gibt für die Abonnements, deren Verarbeitung während des Intervalls geplant ist, den durchschnittlichen Zeitabstand zwischen der für das Abonnement geplanten Zeit und der tatsächlichen Zeit an, zu der das Abonnement vom Generator verarbeitet wurde. |
AvgScheduledNotificationGenerationTime |
float |
Gibt für die Abonnements, deren Verarbeitung während des Intervalls geplant ist, die durchschnittliche Zeit an, die der Generator zum Erstellen von unformatierten Benachrichtigungsdaten aus geplanten Abonnements benötigt. |
AvgScheduledSubscriptionRuleFiringTime |
float |
Gibt für die Abonnements, deren Verarbeitung während des Intervalls geplant ist, die durchschnittliche Zeit an, die zum Ausführen der geplanten Abonnementregel benötigt wird. |
ScheduledNotificationBatchCount |
int |
Gibt für die Abonnements, deren Verarbeitung während des Intervalls geplant ist, die Anzahl der erstellten Benachrichtigungsbatches an. |
ScheduledNotificationCount |
int |
Gibt für die Abonnements, deren Verarbeitung während des Intervalls geplant ist, die Anzahl der erstellten Benachrichtigungen an. |
AvgScheduledNotificationBatchWaitTillDistribution |
float |
Durchschnittliche Zeit, die ein von geplanten Abonnements während des Berichtsintervalls generierter Benachrichtigungsbatch gewartet hat, bis er vom Verteiler zur Verteilung ausgewählt wurde. |
ScheduledNotificationDeliveryAttempts |
int |
Gibt für die Abonnements, deren Verarbeitung während des Intervalls geplant ist, die Anzahl der Versuche zum Übermitteln von Benachrichtigungen an. |
ScheduledNotificationSuccessfulDeliveries |
int |
Gibt für die Abonnements, deren Verarbeitung während des Intervalls geplant ist, die Anzahl der erfolgreichen Benachrichtigungsübermittlungen an. |
ScheduledNotificationFailedAttempts |
int |
Gibt für die Abonnements, deren Verarbeitung während des Intervalls geplant ist, die Anzahl der fehlgeschlagenen Versuche zur Übermittlung von Benachrichtigungen an. |
ScheduledNotificationsDeliveryNotAttempted |
int |
Gibt für die Abonnements, deren Verarbeitung während des Intervalls geplant ist, die Anzahl der Benachrichtigungen an, deren Übermittlung noch nicht versucht wurde. |
ScheduledNotificationsNotYetDelivered |
int |
Gibt für die Abonnements, deren Verarbeitung während des Intervalls geplant ist, die Anzahl der Benachrichtigungen an, die aufgrund eines noch nicht ausgeführten Versuchs oder aufgrund eines fehlerhaften Versuchs noch nicht übermittelt wurden. |
ScheduledNotificationToMessageRatio |
float |
Gibt für die Abonnements, deren Verarbeitung während des Intervalls geplant ist, das Verhältnis zwischen den generierten Benachrichtigungen und den gesendeten Nachrichten an. |
AvgScheduledNotificationBatchSucceedDeliveryTime |
float |
Bei einer Digestübermittlung oder Multicastübermittlung kann eine Meldung mehrere Benachrichtigungen umfassen. Diese Spalte gibt an, wie viele Benachrichtigungen im Durchschnitt in Digest- oder Multicastmeldungen enthalten sind. |
Hinweise
Notification Services erstellt die gespeicherte Prozedur NSDiagnosticSubscriptionClass in der Instanzdatenbank, wenn Sie die Instanz erstellen. Wenn Sie die Instanz aktualisieren, führt Notification Services eine erneute Kompilierung der gespeicherten Prozedur aus.
Diese gespeicherte Prozedur befindet sich im Instanzschema, das vom SchemaName-Element der Instanzkonfigurationsdatei (ICF) angegeben wird. Falls kein Schemaname bereitgestellt wurde, wird dbo als Standardschema verwendet.
Geplante Abonnements fallen in das Berichtsintervall, wenn die Auslösungszeit für die geplante Regel größer ist als IntervalStartDateTime und kleiner oder gleich IntervalEndDateTime ist.
Wenn Sie das aktuelle UTC-Datum bzw. die UTC-Uhrzeit ermitteln möchten, führen Sie SELECT GETUTCDATE() in SQL Server Management Studio aus. Die aktuelle UTC-Zeit wird von der aktuellen Ortszeit und der Zeitzoneneinstellung im Betriebssystem des Computers abgeleitet, auf dem SQL Server ausgeführt wird.
Berechtigungen
Ausführungsberechtigungen besitzen standardmäßig die Mitglieder der Datenbankrollen NSAnalysis und db_owner sowie Mitglieder der festen Serverrolle sysadmin.
Beispiele
A. Angeben des Berichtsintervalls, der Start- und der Beendigungszeitwerte
Im folgenden Beispiel wird der Abonnementklassen-Diagnosebericht für die Flight-Anwendung und die FlightSubscriptions-Abonnementklasse erstellt. Von der Instanz werden die standardmäßigen Datenbankeinstellungen verwendet, von denen alle Instanzobjekte im dbo-Schema platziert werden.
Der Bericht umfasst 50 Generatorquanten in einem Berichtsintervall. Der Bericht beginnt um 17.00 Uhr am 23. Mai 2004 und endet an diesem Tag um 18.00 Uhr:
EXEC dbo.NSDiagnosticSubscriptionClass
@ApplicationName = N'Flight',
@SubscriptionClassName = N'FlightSubscriptions',
@ReportingInterval = 50,
@StartDateTime = '2004-05-23 17:00',
@EndDateTime = '2004-05-23 18:00';
B. Verwenden von Standardwerten für ein benanntes Schema
Im folgenden Beispiel wird der Abonnementklassen-Diagnosebericht für die Flight-Anwendung und die FlightSubscriptions-Abonnementklasse erstellt. In diesem Beispiel befindet sich die gespeicherte Prozedur (wie alle anderen Instanzobjekte) im FlightInstance-Schema gemäß Definition im SchemaName-Element der ICF.
Der Bericht verwendet Standardwerte, die angeben, dass die Abonnementklassendaten für die letzten fünf Quanten angezeigt werden.
EXEC FlightInstance.NSDiagnosticSubscriptionClass
@ApplicationName = N'Flight',
@SubscriptionClassName = N'FlightSubscriptions';
Siehe auch
Verweis
Gespeicherte Prozeduren in Notification Services (Transact-SQL)
Andere Ressourcen
Notification Services-Leistungsberichte
SchemaName Element (ICF)