Ursachen und Lösungen für Notification Services-Ereignisse

Aktualisiert: 17. Juli 2006

Notification Services-Ereignisse werden in vier Kategorien eingeteilt: Fehler, Warnung, Informationen und Ausführlich. Diese Kategorien werden verwendet, um zu konfigurieren, welche Ereignistypen Notification Services in das Anwendungsprotokoll schreibt. Weitere Informationen zum Konfigurieren der Ereignisprotokollierung finden Sie unter Konfigurieren der Notification Services-Ereignisprotokollierung.

Ereignistypen

In der folgenden Tabelle werden die Bereiche der Ereignis-IDs, die Beschreibung der Ereignisse in den einzelnen Bereichen sowie der in der Ereignisanzeige angezeigte Ereignistyp angezeigt.

Bereich der Ereignis-ID Beschreibung Ereignistyp

0 - 9999

Fehler aus allen Quellen mit Ausnahme von erweiterten gespeicherten Prozeduren

Fehler

10000 - 19999

Warnungen aus allen Quellen

Warnung

20000 - 29999

Informationen aus allen Quellen

Informationen

30000 - 39999

Ausführliche Informationen aus allen Quellen

Informationen

Wenn Sie eine Protokollüberwachungsanwendung verwenden, sollten Sie Fehler und Warnungen im Bereich zwischen 0 und 19999 überwachen. Das Überwachen von Informationsereignissen ist weniger entscheidend und wird in der Regel ausgeführt, um bestimmte Aktivitäten, wie z. B. das Starten und Beenden von Diensten, nachzuverfolgen.

ms164113.note(de-de,SQL.90).gifHinweis:
Überwachen Sie Ereignisse mithilfe von eindeutigen Ereignis-IDs. Analysieren Sie Ereignisbeschreibungen nicht im Hinblick auf einen bestimmten Text, da sich der Text auf der Grundlage von Gebietsschemaeinstellungen oder in zukünftigen Versionen von Notification Services ändern könnte.

Ursachen und Lösungen für Ereignisse

In der folgenden Liste werden die am häufigsten in Notification Services auftretenden Ereignisse aufgeführt sowie mögliche Lösungen vorgeschlagen.

Ereignisnummer Meldung, Ursache und Lösung

1006

Fehler beim Öffnen der angeforderten Datenbank.

Ursache

Dieser Fehler entspricht SQL Server-Fehler 4060 und zeigt an, dass der aktuelle Benutzer unzureichende Berechtigungen zum Anmelden bei der angegebenen Datenbank hat.

Der Ereignisprotokolleintrag für diesen Fehler enthält die Beschreibung des SQL Server-Fehlers, der das Ereignis verursacht hat. Die Beschreibung ähnelt der folgenden:

    Die in der Anmeldung 'database_name' angeforderte Datenbank kann nicht geöffnet werden. Fehler bei der Anmeldung.

Lösung

Überprüfen Sie, ob das von Notification Services verwendete Konto über ein SQL Server-Anmeldekonto verfügt sowie über Berechtigungen in der in der Fehlermeldung angezeigten Datenbank. Weitere Informationen finden Sie unter Konfigurieren von SQL Server-Berechtigungen für eine Instanz von Notification Services.

1008

Der angegebene Sortierungsname ist ungültig. Informationen zu gültigen Namen finden Sie in der SQL Server-Onlinedokumentation.

Ursache

Dieser Fehler entspricht SQL Server-Fehler 448 und zeigt an, dass der angegebene Sortierungsname (normalerweise in der Anwendungsdefinition) ungültig ist.

Der Ereignisprotokolleintrag für diesen Fehler enthält die Beschreibung des SQL Server-Fehlers, der das Ereignis verursacht hat. Die Beschreibung ähnelt der folgenden:

    Ungültige Sortierung 'collation_name'.

Lösung

Sortierungen können in der Anwendungsdefinition an mehreren Stellen angegeben sein. Suchen Sie nach dem Eintrag collation_name im Ereignisprotokoll, und ersetzen Sie den angegebenen Namen durch einen gültigen Sortierungsnamen. Weitere Informationen zu Sortierungen finden Sie unter COLLATE (Transact-SQL).

1009

Eine Transact-SQL-Anweisung konnte aufgrund eines Timeouts nicht abgeschlossen werden.

Ursache

Dieser Fehler tritt auf, wenn eine Abfrage oder eine gespeicherte Prozedur nicht innerhalb des angegebenen Timeouts abgeschlossen werden kann. Dies ist normalerweise ein Hinweis dafür, dass SQL Server ausgelastet ist. Wenn ein in der Anwendungsdefinition angegebenes Timeout während der Ausführung einer Ereignis- oder Abonnementregel überschritten wird, wird eine andere Fehlermeldung zurückgegeben.

Der Ereignisprotokolleintrag für diesen Fehler enthält die Beschreibung des Fehlers, der das Ereignis tatsächlich verursacht hat.

Lösung

Überprüfen Sie das Ereignisprotokoll auf zusätzliche Informationen zu der Aktion, für die das Timeout aufgetreten ist.

Falls ein Datenentfernungsvorgang (Vacuuming) die Fehlerursache ist, müssen Sie möglicherweise abgelaufene Ereignisse und Benachrichtigungen entfernen. Weitere Informationen finden Sie unter Entfernen von veralteten Anwendungsdaten.

In Notification Services ist für zahlreiche Vorgänge ein Timeoutwert von 30 Sekunden festgelegt. Verringern Sie falls möglich den Verarbeitungsaufwand der betroffenen Aktion, sodass sie innerhalb von 30 Sekunden abgeschlossen werden kann.

1010

Es besteht ein Sortierungskonflikt zwischen der Hauptinstanzdatenbank und der Anwendungsdatenbank.

Ursache

Dieser Fehler entspricht SQL Server-Fehler 446 und zeigt an, dass dem angegebenen Vorgang Objekte mit nicht übereinstimmenden Sortierungen übergeben wurden.

Der Ereignisprotokolleintrag für diesen Fehler enthält die Beschreibung des Fehlers, der das Ereignis tatsächlich verursacht hat. Die Beschreibung ähnelt der folgenden:

Ein Sortierungskonflikt für den operation_name-Vorgang kann nicht aufgelöst werden.

Lösung

Bestimmen Sie den Vorgang, bei dem der Fehler aufgetreten ist, anhand des Ereignisprotokolls, und stellen Sie sicher, dass die Argumente des angegebenen Vorgangs übereinstimmende Sortierungen aufweisen. Dieser Fehler wird beispielsweise generiert, wenn sich in einer Tabelle zwei Spalten mit jeweils einer griechischen und einer lateinischen Sortierung befinden und eine WHERE-Klausel wie die folgende verwendet wird:

    WHERE GreekCol = LatinCol

Für den damit verursachten Fehler würde folgende Zusatzbeschreibung angezeigt werden:

Ein Sortierungskonflikt für den Gleich-Vorgang kann nicht aufgelöst werden.

Das in der Fehlermeldung beschriebene Problem muss gelöst werden, damit das System ordnungsgemäß ausgeführt werden kann.

Weitere Informationen finden Sie unter COLLATE (Transact-SQL).

1011

Fehler beim Anmelden an SQL Server.

Ursache

Dieser Fehler entspricht SQL Server-Fehler 18456 und zeigt an, dass ein bestimmter Benutzer nicht über die erforderlichen Anmeldeberechtigungen verfügt.

Der Ereignisprotokolleintrag für diesen Fehler enthält die Beschreibung des SQL Server-Fehlers, der dieses Ereignis verursacht hat. Die Beschreibung ähnelt der folgenden:

Fehler bei der Anmeldung für den Benutzer 'user_name'.

Lösung

Überprüfen Sie, ob der in der Fehlermeldung erwähnte Benutzer über die erforderlichen Berechtigungen verfügt.

Weitere Informationen finden Sie unter Beheben von häufig auftretenden Notification Services-Problemen.

2009

Notification Services konnte keinen Ereignisanbieter instanziieren.

Ursache

Notification Services kann keine Instanz des Ereignisanbieters erstellen. Dieser Fehler kann auftreten, wenn ein benutzerdefinierter Ereignisanbieter nicht mit Version 2.0.50727 von .NET Framework erstellt worden ist. Wenn Notification Services und eine benutzerdefinierte Komponente verschiedene Versionen von .NET Framework verwenden, können durch Unterschiede in den Klassenbibliotheken Anwendungsfehler verursacht werden.

Lösung

Erstellen Sie wenn möglich benutzerdefinierte Komponenten mit .NET Framework Version 2.0.50727. Falls es nicht möglich ist, benutzerdefinierte Komponenten mit dieser Version von .NET Framework zu erstellen, können Sie erzwingen, dass dieselbe Version auch von Notification Services verwendet wird. Fügen Sie zu diesem Zweck der Datei NSService.exe.config einen <startup>-Knoten hinzu. Dieser befindet sich im Ordner vN.N.N.N\Bin von Notification Services. Das folgende Beispiel zeigt den <startup>-Knoten:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<startup>

<supportedRuntime version="v2.1"/>

<supportedRuntime version="v2.0.50727"/>

</startup>

...

Die <supportedRuntime>-Elemente beschränken die .NET Framework-Versionen, die von Notification Services verwendet werden können. Die Reihenfolge, in der die einzelnen Versionen aufgeführt werden, bestimmt, in welcher Reihenfolge Notification Services versucht, die einzelnen .NET Framework-Versionen aufzurufen. Im oben stehenden Beispiel versucht Notification Services zunächst, .NET Framework Version 2.1 aufzurufen. Ist diese Version nicht verfügbar, versucht Notification Services, .NET Framework Version 2.0.50727 aufzurufen. Beachten Sie, dass Version 2.1 keiner tatsächlichen Versionsnummer entspricht. Es handelt sich hier lediglich um ein Beispiel.

Starten Sie die Notification Services-Instanz neu, um die an der Datei NSService.exe.config vorgenommenen Änderungen anzuwenden.

2023

Der angegebene Ereignisanbieter-Klassenname wurde in der gegebenen Assembly nicht gefunden. Stellen Sie sicher, dass der Klassen- und der Assemblyname in der Anwendungsdefinition richtig sind.

Ursache

Dieser Fehler tritt auf, wenn der Anbieterhost einen Ereignisanbieter nicht startet, weil die in der Anbietereinstellung der Anwendungsdefinition angegebene Assembly nicht die angegebene Ereignisanbieterklasse enthält. Wenn dieser Fehler auftritt, kann der Ereignisanbieter nicht ausgeführt werden.

Notification Services erstellt eine Instanz des Ereignisanbieters, indem die in der AssemblyName-Eigenschaft der Anwendungsdefinition angegebene Assembly geladen und anschließend ein Objekt des in der ClassName-Eigenschaft angegebenen Typs erstellt wird. Dieser Fehler zeigt an, dass Notification Services keine Instanz des Klassennamens aus der gegebenen DLL erstellen kann. Die Ursache dafür ist meistens, dass in der AssemblyName-Eigenschaft die falsche DLL oder die falsche Klasse in der ClassName-Eigenschaft angegeben ist.

Der Ereignisprotokolleintrag für diesen Fehler enthält die Beschreibung der ausgelösten Ausnahme.

Lösung

Stellen Sie zunächst sicher, dass die ClassName- und AssemblyName-Eigenschaften richtig angegeben sind. Falls Sie Änderungen vornehmen, aktualisieren Sie die Notification Services-Anwendung, und aktivieren Sie anschließend Ereignisse. Der Anbieterhost versucht dann, den Ereignisanbieter neu zu starten. Wenn der Dienst während der Aktualisierung angehalten wurde, versucht der Anbieterhost nach dem Neustarten des Dienstes, den Ereignisanbieter neu zu starten.

4012

Es ist ein abgeschlossenes Quantum vorhanden, das die aktuelle tatsächliche Zeit einschließt.

Ursache

Im Normalbetrieb sollte sich das von Notification Services verarbeitete Zeitintervall in der Vergangenheit befinden. Dieser Fehler tritt normalerweise auf, wenn die Systemuhr des Servers, auf dem die Datenbank gehostet ist, geändert wird.

Lösung

Stellen Sie auf dem Datenbankcomputer die richtige Uhrzeit ein.

6007

Die Assembly, die das Übermittlungsprotokoll enthält, konnte nicht geladen werden.

Ursache

Dieser Fehler tritt auf, wenn der Verteiler die für ein benutzerdefiniertes Übermittlungsprotokoll angegebene Assembly nicht laden kann.

Lösung

Überprüfen Sie die Protocols-Eigenschaft in Ihrer Instanzkonfiguration, um sicherzustellen, dass der Name der für das benutzerdefinierte Protokoll angegebenen Assembly richtig ist. Der Assemblyname muss einen vollständigen Pfad beinhalten. Für eine Assembly namens myprotocol.dll, die unter C:\bin\CustomComponents gespeichert ist, geben Sie beispielsweise C:\bin\CustomComponents\myprotocol.dll an.

Der angegebene Assemblyname muss auf eine verwaltete Codeassembly verweisen. Sie können überprüfen, ob die Datei tatsächlich eine verwaltete Codeassembly ist, indem Sie sie mit dem Tool ildasm.exe öffnen. Dieses Tool befindet sich im Microsoft .NET Framework SDK.

9028

Die Assemblyversion stimmt nicht mit der Datenbankversion überein.

Ursache

Dieses Ereignis tritt auf, wenn die Version von Notification Services nicht mit der in der Instanzdatenbank gespeicherten Version übereinstimmt.

Notification Services erfordert, dass die Version der ausführbaren Datei des Dienstes (NSService.exe) mit der Version der zuletzt geänderten (erstellten oder aktualisierten) Datenbank übereinstimmt. Das Ereignisprotokoll enthält den Eintrag AssemblyVersion, der der Version der ausführbaren Datei des Dienstes entspricht, sowie den Eintrag DatabaseVersion, der der Version der Datenbank entspricht.

Lösung

Es stehen drei Lösungsmöglichkeiten zur Verfügung:

  • Führen Sie die ausführbare Datei des Dienstes aus, deren Version mit der Version der Instanzdatenbanken übereinstimmt.
  • Aktualisieren Sie die Instanzdatenbanken auf die Version der ausführbaren Datei des Dienstes. Weitere Informationen finden Sie unter Migrieren von Notification Services-Instanzen.
  • Erstellen Sie die Instanzdatenbanken neu. Greifen Sie auf diese Lösungsmöglichkeit nur im Notfall zurück, da dabei alle Informationen in der Instanz verloren gehen.

9041

Die Datenbank wurde mit einer anderen Edition von Notification Services erstellt oder auf eine andere Edition aktualisiert. Verwenden Sie die für die Datenbank erwartete Edition von Notification Services.

Ursache

Dieses Ereignis tritt auf, wenn die Edition von Notification Services, beispielsweise Standard oder Enterprise, nicht mit der in der Instanzdatenbank gespeicherten Edition übereinstimmt.

Notification Services erfordert, dass die Edition der ausführbaren Datei des Dienstes (NSService.exe) mit der Edition der Instanzdatenbank übereinstimmt. Der Text des Ereignisprotokolls enthält die Edition von Notification Services, die der Edition der ausführbaren Datei des Dienstes entspricht, sowie die Edition der Datenbank. Diese Werte müssen identisch sein.

Lösung

Es stehen drei Lösungsmöglichkeiten zur Verfügung:

  • Wenn Sie über eine Edition der Datei NSService.exe verfügen, die mit der der Instanzdatenbanken übereinstimmt, verwenden Sie diese Datei.
  • Wenn Ihre Instanzdatenbanken einer früheren Edition angehören als die Datei NSService.exe, aktualisieren Sie die Instanzdatenbanken auf die Edition der ausführbaren Datei. Weitere Informationen finden Sie unter Migrieren von Notification Services-Instanzen.
  • Im Notfall erstellen Sie die Instanzdatenbanken neu. Beachten Sie jedoch, dass dabei alle Informationen aus der Instanz entfernt werden.

16001

Die Verarbeitung eines Arbeitselements wurde aufgrund von zu vielen aufeinanderfolgenden Fehlern beim Übermittlungskanal beendet.

Ursache

Diese Warnung tritt auf, wenn der Verteiler die Verarbeitung eines Arbeitselements abbricht, weil zu viele aufeinanderfolgende Übermittlungsfehler aufgetreten sind. Dies weist normalerweise auf eine anhaltende Fehlerbedingung im Übermittlungskanal hin.

Lösung

Überprüfen Sie den Übermittlungsstatus der einzelnen Benachrichtigungen, um die Art der Fehler zu bestimmen und zu ermitteln, auf welche Weise das Problem behoben werden kann.

Sie können die Anzahl der aufeinanderfolgenden Übermittlungsfehler steuern, nach der der Verteiler die Verarbeitung eines Arbeitselements abbricht. Geben Sie dazu für jedes von Ihrer Benachrichtigungsklasse unterstützte Protokoll im Abschnitt ProtocolExecutionSettings der Anwendungsdefinition einen Wert für die Einstellung FailuresBeforeAbort an. Wenn Sie keinen Wert für diese Eigenschaft angeben, wird ein Standardwert von 20 verwendet.

4093 - 4099

Ein Leistungsindikator konnte nicht aktualisiert werden.

Ursache

Bestimmte Leistungsindikatoren konnten nicht von Notification Services aktualisiert werden. Notification Services versucht, die Indikatoren beim nächsten Quantumintervall zu aktualisieren.

Falls dieser Fehler mehrmals auftritt, weist dies darauf hin, dass die Notification Services-Leistungsindikatoren beschädigt sind. Sie können dann nicht aktualisiert werden, bis der Grund für die Beschädigung behoben ist. Beschädigungsgründe sind u. a. beschädigte Einträge in der Registrierung sowie Probleme in anderen Systemmonitor-DLLs.

Lösung

Wenn eine Aktualisierung der Windows-Leistungsindikatoren nicht dringend benötigt wird, können Sie diese Warnung ignorieren. Die empfohlene Lösungsmöglichkeit sowie zusätzliche Informationen finden Sie im Knowledge Base-Artikel zur Lösung beschädigter Leistungsindikatoren in Notification Services.

Siehe auch

Aufgaben

Anzeigen von Notification Services-Ereignissen

Konzepte

Notification Services-Ereignisformat

Andere Ressourcen

Fehler und Ereignisse in Notification Services
Verwenden von Ereignismeldungen

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

17. Juli 2006

Geänderter Inhalt:
  • Eine Liste von häufig auftretenden Ereignismeldungen und deren Lösungen wurde hinzugefügt.