Problembehandlung für stabile StreamInsight-Anwendungen

Dieses Thema beschreibt die Voraussetzungen für stabile Abfragen sowie einige Fehler, die häufig auftreten können, und hilft Ihnen so bei der Problembehandlung für stabile StreamInsight-Anwendungen.

Stabilität ist nur in der Premium Edition von StreamInsight verfügbar. Weitere Informationen finden Sie unter Auswählen einer StreamInsight-Edition.

In diesem Thema

  • Voraussetzungen für eine stabile Abfrage

  • Fehler beim Erstellen und Konfigurieren eines stabilen Servers

  • Fehler beim Definieren einer stabilen Abfrage

  • Fehler beim Speichern eines Prüfpunkts

  • Fehler bei der Wiederherstellung nach einem Fehler

  • Fehler beim Speichern von Metadaten und Protokollen auf einer Netzwerkfreigabe

Voraussetzungen für eine stabile Abfrage

Eine für die Prüfpunktausführung konfigurierte Abfrage muss die folgenden Anforderungen erfüllen:

  • Sie muss einen Ausgabeadapter aufweisen. Das heißt, die Abfrage darf nicht nur einen veröffentlichten Datenstrom verfügbar machen.

  • Die Abfrage kann keinen veröffentlichten Datenstrom nutzen.

  • Die Abfrage kann keine IObservable- oder IEnumerable-Eingaben verwenden.

  • Die Abfrage kann keine Datenströme verwenden, die mit AdvanceTimeImportSettings synchronisiert wurden, um CTIs aus einem anderen Datenstrom zu kopieren. Diese Verwendung wird in Vorlauf der Anwendungszeit beschrieben.

[OBEN]

Fehler beim Erstellen und Konfigurieren eines stabilen Servers

Das Aufrufen der Server.Create-Methode kann unter folgenden Bedingungen eine Ausnahme auslösen:

  • Über die Server.Create-Methode oder die app.config-Datei wird eine Stabilitätskonfiguration bereitgestellt, aber es wurde kein SQL Server Compact-Metadatenanbieter angegeben.

  • Der für Stabilität angegebene Protokollpfad ist nicht vorhanden, und der Server ist nicht zur Erstellung dieses Pfads konfiguriert.

  • Der Server ist zur Erstellung des Protokollpfads konfiguriert, aber diese Erstellung wird nicht ausgeführt oder schlägt fehl.

  • Der Server verfügt nicht über ausreichende Berechtigungen zum Schreiben und Lesen des angegebenen Protokollpfads.

  • Der Server ist für Stabilität konfiguriert, aber die Edition von StreamInsight unterstützt Stabilität nicht. Nur die Premium Edition unterstützt Stabilität. Weitere Informationen zu den StreamInsight-Editionen finden Sie unter Auswählen einer StreamInsight-Edition.

[OBEN]

Fehler beim Definieren einer stabilen Abfrage

Der Aufruf zum Erstellen einer stabilen Abfrage über die CepStream.ToQuery-Methode oder die Application.CreateQuery-Methode kann unter folgenden Bedingungen eine Ausnahme auslösen:

  • Der Server ist nicht für Stabilität konfiguriert, da keine Stabilitätskonfiguration bereitgestellt und kein SQL Server Compact-Metadatenanbieter angegeben wurde.

  • Die Abfrage nutzt Ereignisse aus IEnumerable- oder IObservable-Quellen.

  • Die Abfrage nutzt Ereignisse aus einem veröffentlichten Datenstrom.

  • Die Abfrage verwendet synchronisierte Datenströme.

  • Die Abfrage schreibt nur in einen veröffentlichten Datenstrom.

[OBEN]

Fehler beim Speichern eines Prüfpunkts

Unter folgenden Bedingungen kann der Aufruf zum Speichern eines Prüfpunkts fehlschlagen, und die EndCheckpoint-Methode kann eine Ausnahme auslösen:

  • Der Server ist nicht für Stabilität konfiguriert.

  • Die Abfrage ist nicht für Stabilität konfiguriert.

  • Die Abfrage wird nicht ausgeführt.

  • Es wird gerade ein Prüfpunkt verarbeitet. In diesem Fall ist der erste Prüfpunkt erfolgreich. Alle nachfolgenden überlappenden Prüfpunkte schlagen fehl.

  • Die EndCheckpoint-Methode wird mit einem IAsyncResult aufgerufen, das keinem aktiven Prüfpunktvorgang entspricht.

  • Die EndCheckpoint-Methode wird mit einem IAsyncResult aufgerufen, das einem Prüfpunktvorgang entspricht, für den EndCheckpoint bereits aufgerufen wurde.

Wenn während der Prüfpunktausführung ein E/A-Fehler auftritt, werden alle derzeit ausgeführten Prüfpunktvorgänge beendet, und die entsprechenden EndCheckpoint-Vorgänge lösen eine Ausnahme aus. Sie können jedoch weiterhin versuchen, nachfolgende Prüfpunktvorgänge auszuführen, da dieser E/A-Fehler möglicherweise nur vorübergehend ist.

[OBEN]

Fehler bei der Wiederherstellung nach einem Fehler

Wenn beim Lesen einer Prüfpunktdatei ein E/A-Fehler auftritt, werden alle Abfragen, die von der Datei abhängen, angehalten, und die Fehlerursache wird mit der Abfrage protokolliert. Die Abfragen werden angehalten und nicht abgebrochen, um die Abfragemetadaten beizubehalten, da der E/A-Fehler möglicherweise nur vorübergehend ist.

Wenn die Wiederherstellung einer Abfrage fehlschlägt, kann diese Wiederherstellung nicht erneut gestartet werden. Sie können folgende Schritte durchführen:

  • Wenn der Fehler möglicherweise nur vorübergehend ist, fahren Sie den Server herunter und starten Sie ihn neu, um die Wiederherstellung erneut auszuführen.

  • Wenn der Fehler nicht vorübergehend ist, können Sie die Abfrage beenden.

Wenn die Abfrage, die wiederhergestellt werden soll, aufgrund einer Ausnahme in einem Operator oder Adapter fehlschlägt, wird die Abfrage abgebrochen.

Wenn der Versuch der Wiederherstellung einer Abfrage zu einem Serverfehler führt, können Sie die folgenden Schritte ausführen:

  1. Starten Sie den Server ohne Stabilität neu.

  2. Beenden Sie die Abfrage bzw. die Abfragen, die den Serverfehler verursachen.

  3. Starten Sie den Server mit Stabilität neu.

[OBEN]

Fehler beim Speichern von Metadaten und Protokollen auf einer Netzwerkfreigabe

Wenn das Protokoll der Prüfpunktausführung auf einer Netzwerkfreigabe gespeichert wird, haben E/A-Fehler keine schwerwiegenden Auswirkungen auf die Prüfpunktausführung.

Wird die SQL Server Compact-Datenbank für Metadaten auf einer Netzwerkfreigabe gespeichert, ist jeder E/A-Fehler schwerwiegend und verursacht einen StreamInsight-Serverfehler.

[OBEN]

Siehe auch

Konzepte

StreamInsight-Stabilität

Erstellen stabiler StreamInsight-Anwendungen

Überwachen stabiler StreamInsight-Anwendungen