Share via


NSDiagnosticNotificationClass (Transact-SQL)

Erstellt den Benachrichtigungsklassenbericht für eine Microsoft SQL Server Notification Services-Anwendung. Der Bericht stellt Informationen zur Anzahl der Benachrichtigungen und Benachrichtigungsbatches bereit, die von der Benachrichtigungsklasse verarbeitet werden, sowie zum Status der Übertragung von Benachrichtigungen.

Syntax

[ schema_name . ] NSDiagnosticNotificationClass 
    [ @ApplicationName = ] 'app_name' ,
    [ @NotificationClassName = ] 'notification_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 ein Wert vom Datentyp nvarchar(255) und weist keinen Standardwert auf.

[ @NotificationClassName=] 'notification_class_name'

Der Name der Benachrichtigungsklasse gemäß Definition in der Anwendungsdefinitionsdatei (ADF, Application Definition File). notification_class_name ist ein Wert vom Datentyp nvarchar(255) und weist keinen Standardwert auf.

[ @ReportingInterval=] interval

Ist die Anzahl von Generatorquanten in einem Berichtsintervall. Der Bericht enthält eine Zeile pro Intervall. interval ist ein Wert vom Datentyp int; der Standardwert ist 1, was für ein Generatorquantum pro Intervall steht.

Die Quantumdauer ist in der Anwendungsdefinitionsdatei 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 ein Wert vom Datentyp datetime. Der Standardwert ist (5 * QuantumDuration * @ReportingInterval) vor dem @EndDateTime-Wert. Das Resultset enthält beim Verwenden des Standardwertes maximal fünf Zeilen, wobei jede Zeile ein Berichtsintervall darstellt.

[ @EndDateTime=] 'end_date_time'

Ist das Enddatum und die Beendigungszeit des Berichts in UTC. end_date_time ist ein Wert vom Datentyp datetime. Der Standardwert ist das Ergebnis der GETUTCDATE-Funktion, die die Uhrzeit zurückgibt, zu der die gespeicherte Prozedur aufgerufen wurde.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Spaltenname Datentyp Beschreibung

IntervalStartDateTime

datetime

Startdatum und -zeit für das Berichtsintervall in UTC.

IntervalEndDateTime

datetime

Startdatum und -zeit für das Berichtsintervall in UTC.

NotificationBatchesGenerated

int

Die Anzahl der während des Berichtsintervalls generierten Benachrichtigungsbatches für die Benachrichtigungsklasse.

NotificationsGenerated

int

Die Anzahl der während des Berichtsintervalls generierten Benachrichtigungen für die Benachrichtigungsklasse.

NotificationsGeneratedPerSecond

float

Die Anzahl der während des Berichtsintervalls pro Sekunde generierten Benachrichtigungen für die Benachrichtigungsklasse.

AvgNotificationBatchWaitTillDistribution

float

Die durchschnittliche Wartezeit für die Benachrichtigungsklasse, bis der Verteiler einen Benachrichtigungsbatch während des Berichtsintervalls abruft.

NotificationDeliveryAttempts

int

Anzahl der Benachrichtigungsübermittlungsversuche für Benachrichtigungsbatches der während des Berichtsintervalls generierten Benachrichtigungsklasse.

NotificationSuccessfulDeliveries

int

Anzahl der erfolgreich übermittelten Benachrichtigungen für Benachrichtigungsbatches der während des Berichtsintervalls generierten Benachrichtigungsklasse.

NotificationFailedAttempts

int

Anzahl der fehlgeschlagenen Benachrichtigungsübermittlungsversuche für Benachrichtigungsbatches der während des Berichtsintervalls generierten Benachrichtigungsklasse.

NotificationsDeliveryNotAttempted

int

Anzahl der Benachrichtigungen, die der Verteiler noch nicht zu übertragen versucht hat, für Benachrichtigungsbatches der während des Berichtsintervalls generierten Benachrichtigungsklasse.

NotificationsNotYetDelivered

int

Anzahl der noch nicht übertragenen Benachrichtigungen, da noch kein Übertragungsversuch unternommen wurde oder der Versuch fehlschlug, für Benachrichtigungsbatches der während des Berichtsintervalls generierten Benachrichtigungsklasse.

NotificationToMessageRatio

float

Verhältnis zwischen den generierten Benachrichtigungen und den gesendeten Nachrichten für während des Berichtsintervalls generierte Benachrichtigungsbatches.

Bei der Digest- oder Multicastübermittlung kann eine Nachricht mehrere Benachrichtigungen einschließen. Diese Spalte gibt an, wie viele Benachrichtigungen durchschnittlich in Digest- oder Multicastnachrichten enthalten sind.

AvgNotificationBatchSucceedDeliveryTime

float

Durchschnittliche Zeit für das Senden von Benachrichtigungen im Rahmen des Verteilungsprozesses für während des Berichtsintervalls generierte Benachrichtigungsbatches.

Hinweise

Notification Services erstellt die gespeicherte Prozedur NSDiagnosticNotificationClass in der Instanzdatenbank, wenn Sie die Instanz erstellen. Wenn Sie die Instanz aktualisieren, kompiliert Notification Services die gespeicherte Prozedur erneut.

Diese gespeicherte Prozedur ist Bestandteil des Instanzschemas, das durch das SchemaName-Element der Instanzkonfigurationsdatei (ICF, Instance Configuration File) angegeben wird. Wenn kein Schemaname bereitgestellt wird, ist dbo das Standardschema.

Benachrichtigungsbatches liegen in einem Berichtsintervall, wenn der EndGenerationTime-Wert größer ist als IntervalStartDateTime und kleiner als 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 lokalen Zeit und der Zeitzoneneinstellung im Betriebssystem des Computers mit SQL Server abgeleitet.

Berechtigungen

Die Ausführungsberechtigungen erhalten standardmäßig Mitglieder der NSAnalysis-Datenbankrolle, der festen Datenbankrolle db_owner und der festen Serverrolle sysadmin.

Beispiele

A. Angeben des Berichtsintervalls, der Startzeit und der Werte für die Beendigungszeit

Im folgenden Beispiel wird der Benachrichtigungsklassen-Diagnosebericht für die Flight-Anwendung und die FlightNotifications-Benachrichtigungsklasse erstellt. Für die Instanz werden die Standarddatenbankeinstellungen verwendet, worunter alle Instanzobjekte im dbo-Schema angeordnet werden.

Der Bericht umfasst 60 Generatorquanten in einem Berichtsintervall. Der Bericht beginnt um 17.00 Uhr am 23. Mai. 2002 und endet an diesem Tag um 18.00 Uhr:

EXEC dbo.NSDiagnosticNotificationClass 
    @ApplicationName = N'Flight', 
    @NotificationClassName = N'FlightNotifications', 
    @ReportingInterval = 60, 
    @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 Benachrichtigungsklassen-Diagnosebericht für die Flight-Anwendung und die FlightNotifications-Benachrichtigungsklasse erstellt. In diesem Beispiel befindet sich die gespeicherte Prozedur (wie alle anderen Instanzobjekte) im FlightInstance-Schema gemäß Definition im SchemaName-Element der ICF.

Für den Bericht werden Standardwerte verwendet, die angeben, dass Daten für die letzten fünf Generatorquanten angezeigt werden.

EXEC FlightInstance.NSDiagnosticNotificationClass 
    @ApplicationName = N'Flight', 
    @NotificationClassName = N'FlightNotifications';

Siehe auch

Verweis

Gespeicherte Prozeduren in Notification Services (Transact-SQL)

Andere Ressourcen

Notification Services-Leistungsberichte
SchemaName Element (ICF)

Hilfe und Informationen

Informationsquellen für SQL Server 2005