Share via


NSDiagnosticDeliveryChannel (Transact-SQL)

Erstellt den Übermittlungskanalbericht für eine Microsoft SQL Server Notification Services-Anwendung. Dieser Bericht hilft bei der Analyse von Übermittlungskanalaktivitäten und fehlgeschlagenen Benachrichtigungen.

Syntax

[ schema_name . ] NSDiagnosticDeliveryChannel 
    [ @ApplicationName = ] 'app_name' ,
    [ @DeliveryChannelName = ] 'delivery_channel_name' 
    [, [@ReportingInterval = ] interval ] 
    [, [@StartDateTime = ] 'start_date_time' ] 
    [, [@EndDateTime = ] 'end_date_time' ] 

Argumente

[ @ApplicationName = ] 'app_name'

Der Name einer Notification Services-Anwendung gemäß Definition in der Konfigurationsdatei. app_name ist ein Wert vom Datentyp nvarchar(255) und weist keinen Standardwert auf.

[ @DeliveryChannelName = ] 'delivery_channel_name'

Der Name eines Übermittlungskanals gemäß Definition in der Konfigurationsdatei. delivery_channel_name ist ein Wert vom Datentyp nvarchar(255) und weist keinen Standardwert auf.

[ @ReportingInterval = ] interval

Ist die Anzahl der 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 (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 ein Wert vom Datentyp datetime. Der Standardwert ist @EndDateTime - (5 * QuantumDuration * @ReportingInterval). 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 die Uhrzeit in UTC, zu der Sie die gespeicherte Prozedur aufrufen.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Spaltenname Datentyp Beschreibung

IntervalStartDateTime

datetime

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

IntervalEndDateTime

datetime

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

NotificationBatchesDelivered

int

Anzahl der während des Berichtsintervall übermittelten Benachrichtigungsbatches.

NotificationDeliveryAttempts

int

Anzahl der während des Berichtsintervalls über den Übermittlungskanal versuchten Benachrichtigungsübermittlungen.

NotificationSuccessfulDeliveries

int

Anzahl der während des Berichtsintervalls über den Übermittlungskanal erfolgreich gesendeten Benachrichtigungen.

NotificationAttemptsFailed

int

Anzahl der während des Berichtsintervalls über den Übermittlungskanal fehlgeschlagenen Benachrichtigungsübermittlungsversuche.

NotificationToMessageRatio

float

Verhältnis zwischen generierten Benachrichtigungen und gesendeten Nachrichten während des Berichtsintervalls.

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 eingeschlossen sind.

Hinweise

Notification Services erstellt die gespeicherte Prozedur NSDiagnosticDeliveryChannel 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.

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 Start- und der Beendigungszeit

Im folgenden Beispiel wird der Übermittlungskanalbericht für die Flight-Anwendung und den FileChannel-Übermittlungskanal erstellt. Für die Instanz werden die Standarddatenbankeinstellungen verwendet, worunter alle Instanzobjekte im dbo-Schema angeordnet werden.

Der Bericht umfasst 50 Generatorquanten in einer Zeile. Der Bericht beginnt um 17.00 Uhr am 23. Mai 2004 und endet an diesem Tag um 18.00 Uhr:

EXEC dbo.NSDiagnosticDeliveryChannel 
    @ApplicationName = N'Flight', 
    @DeliveryChannelName = N'FileChannel', 
    @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 Übermittlungskanalbericht für die Flight-Anwendung und den FileChannel-Übermittlungskanal 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 ein Generatorquantum pro Zeile und insgesamt fünf Generatorquanten angezeigt werden.

EXEC FlightInstance.NSDiagnosticDeliveryChannel 
    @ApplicationName = N'Flight', 
    @DeliveryChannelName = N'FileChannel';

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