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)