Share via


NS<NotificationClassName>NotificationDistribution (Sicht)

Kombiniert die Daten aus verschiedenen internen Microsoft SQL Server Notification Services-Tabellen, um Informationen zur versuchten Verteilung von Benachrichtigungen bereitzustellen. Notification Services erstellt eine Sicht für jede Benachrichtigungsklasse und verwendet dabei die folgende Benennungskonvention: NSNotificationClassNameNotificationDistribution.

Das Stock-Beispiel, das im Lieferumfang von Notification Services enthalten ist, verfügt beispielsweise über zwei Benachrichtigungsklassen: StockNotifications und PortfolioNotifications. Die zugeordneten Sichten heißen NSStockNotificationsNotificationDistribution und NSPortfolioNotificationsNotificationDistribution.

Die NSNotificationClassNameNotificationDistribution-Sichten enthalten die in der folgenden Tabelle aufgeführten Spalten.

Spalte Datentyp Beschreibung

NotificationId

bigint

Die Benachrichtigungs-ID.

DeliveryChannelName

nvarchar (255)

Der Name des Übermittlungskanals, der für die Übermittlung der Benachrichtigung verwendet wird.

DistributorName

nvarchar(255)

Der Name des Verteilers, der für die Übermittlung der Benachrichtigung verwendet wird.

DeliveryRequestTime

datetime

Das Datum und die Uhrzeit des Zeitpunkts, zu dem der Verteiler die Benachrichtigungsdaten zur Übermittlung an das Übermittlungsprotokoll übergeben hat.

SentTime

datetime

Die Uhrzeit, zu der die Benachrichtigung tatsächlich gesendet wurde.

DeliveryStatusDescription

nvarchar(255)

Der Status des Übermittlungsversuchs: kein Versuch, Erfolg oder Fehler. Weitere Informationen finden Sie im Abschnitt zu den Hinweisen.

DeliveryStatusInfo

nvarchar(2048)

Die Statusmeldung, die das Übermittlungsprotokoll beim Melden des Benachrichtigungsstatus an den Verteiler zurückgegeben hat. Diese Meldung wird üblicherweise verwendet, um die Ursache eines Fehlers zu melden. NULL zeigt an, dass keine Statusmeldung gesendet wurde.

NotificationText

nvarchar(2048)

Der Text der Benachrichtigung.

SubscriberId

nvarchar(255)

Die ID des Abonnenten der Benachrichtigung.

DeviceName

nvarchar(255)

Der Name des im Abonnement angegebenen Übermittlungsgeräts.

SubscriberLocale

nvarchar(10)

Das Gebietsschema des Abonnenten der Benachrichtigung.

Benachrichtigungsklassenfelder (1-n)

application-defined

Alle in der Benachrichtigungsklasse angegebenen Spalten sind in dieser Sicht ebenfalls enthalten.

LinkNotificationId

bigint

Die ID der ersten in den Digest eingeschlossenen Benachrichtigung, wenn die Digestübermittlung verwendet wird. Alle nachfolgenden Benachrichtigungen im Digest enthalten diese ID. NULL zeigt an, dass die Benachrichtigung keine nachfolgende Benachrichtigung in einem Digest ist.

Hinweise

Die NSNotificationClassNameNotificationDistribution-Sichten befinden sich in Anwendungsdatenbanken.

Der Umfang der in den Sichten verfügbaren Daten wird anwendungsbasiert über die Verteilerprotokollierungseinstellungen in der Anwendungsdefinition gesteuert. Mit diesen Einstellungen zur Anwendungsausführung wird gesteuert, was in das Verteilungsprotokoll geschrieben wird. Es wird somit gesteuert, welche Inhalte für diese Sicht verfügbar sind. Weitere Informationen finden Sie unter Konfigurieren der Verteilerprotokollierung.

Eine einzelne Benachrichtigung kann über mehrere Zeilen in der NSNotificationClassNameNotificationDistribution-Sicht verfügen, wobei jede Zeile für einen Übermittlungsversuch steht. Wenn der Versuch, eine Benachrichtigung zu übermitteln, beispielsweise zwei Mal scheitert und dann erfolgreich ist, würde diese Sicht drei Zeilen für diese Benachrichtigung enthalten, und zwar so lange, bis der Vacuumer-Prozess die Daten entfernt.

Verwenden Sie die DeliveryStatusDescription-Spalte, um den Benachrichtigungsübermittlungsstatus zu bestimmen. Die folgende Tabelle enthält Beschreibungen der Statuscodes.

DeliveryStatusDescription-Wert Beschreibung

Ohne Übermittlungsversuch: erster Versuch steht aus

Der Verteiler hat noch nicht versucht, die Benachrichtigung zu übermitteln. Dies kann auf Anwendungseinstellungen, einen Rückstand bei zu verteilenden Benachrichtigungen, ein Verteilungsproblem (z. B. ein deaktivierter Verteiler) oder eine zu große Anzahl von Fehlern (was durch die FailuresBeforeAbort-Einstellung gesteuert wird) zurückzuführen sein.

Übermittlungserfolge

Das Übermittlungsprotokoll hat einen Wert zurückgegeben, der eine erfolgreiche Übermittlung anzeigt.

Übermittlungsfehler

Eines der folgenden Ereignisse ist eingetreten:

  • Ein Fehler bei der Inhaltsformatierung.
  • Ein Fehler beim Aufruf des Übermittlungsprotokolls.
  • Ein Übermittlungsfehler, der vom Übermittlungsprotokoll gemeldet wurde.

Um Probleme in Form gescheiterter Übermittlungen zu beheben, sollten Sie in der Microsoft Windows-Ereignisanzeige nach Fehlermeldungen im Anwendungsprotokoll suchen. Beachten Sie, dass für eine einzelne gescheiterte Übermittlung mehrere Fehler protokolliert werden können. Lesen Sie daher die Beschreibung jeder Notification Services-Fehlermeldung.

Berechtigungen

Diese Sicht steht Mitgliedern der Serverrollen sysadmin und db_owner und der NSAnalysis-Rolle in Notification Services zur Verfügung.

Beispiele

Führen Sie die folgende Abfrage für das Stock-Beispiel aus, um zu bestimmen, ob der Versuch einer Benachrichtigungsübermittlung gescheitert ist:

USE StockInstanceStock;
SELECT NotificationId, DeliveryStatusInfo 
FROM NSStockNotificationsNotificationDistribution
WHERE DeliveryStatusDescription = N'Delivery failed';

Die oben aufgeführte Abfrage gibt alle gescheiterten Benachrichtigungen zurück, die noch nicht durch den Vacuumer-Prozess entfernt wurden. Wenn für eine Benachrichtigung mehrere Übermittlungsversuche gescheitert sind, gibt die Abfrage eine Zeile für jeden gescheiterten Versuch zurück.

Führen Sie die folgende Abfrage aus, um für das Stock-Beispiel eine Liste der Benachrichtigungen zurückzugeben, deren Übermittlung mehr als einmal gescheitert ist:

USE StockInstanceStock;
SELECT DISTINCT(NotificationId) 
FROM NSStockNotificationsNotificationDistribution
WHERE DeliveryStatusDescription = N'Delivery failed';

Siehe auch

Verweis

Notification Services-Sichten

Andere Ressourcen

Konfigurieren der Verteilerprotokollierung

Hilfe und Informationen

Informationsquellen für SQL Server 2005