Fehler und Meldungen

Durch Ereignisse in der Arbeitsauslastung, die nicht optimiert werden können, werden Fehler und Meldungen verursacht. Diese Fehler und Meldungen werden ins Optimierungsprotokoll geschrieben. Die Optimierungssitzung wird jedoch nicht beendet. Durch Fehler und Meldungen werden Bedingungen gemeldet, die Benutzern wichtige Hinweise zu den Optimierungssitzungen geben und auf diese Weise zu einem besseren Verständnis des Optimierungsprozesses beitragen können. Die Benutzer können die Informationen verwenden, um die Eingabeparameter basierend auf der Rückmeldung zu einer früheren Optimierungssitzung anzupassen. Infolge dieser Anpassungen kann der Datenbankoptimierungsratgeber künftig effektiver eingesetzt werden.

Besonders nützlich sind die Rückmeldungen, wenn die Optimierung von Datenbanken mit einer hohen Arbeitsauslastung einhergeht. So wird beispielsweise bei Auftreten einer der folgenden Bedingungen ein Fehler oder eine Meldung ins Optimierungsprotokoll geschrieben:

  • Eine durch die Arbeitsauslastung erstellte temporäre Tabelle ist in der Datenbank nicht mehr vorhanden.

  • Eine Tabelle, auf die in der Abfrage verwiesen wurde, wurde nicht für die Optimierung ausgewählt.

  • Das Ereignis konnte nicht analysiert werden.

Optimierungsprotokolleinträge

Wenn Sie bei Verwendung des Befehlszeilen-Dienstprogramms dta einen Wert für das –e-Argument angeben, veranlassen Sie, dass der Datenbankoptimierungsratgeber Fehler und Meldungen ins Optimierungsprotokoll schreibt. Oder Sie können Optimierungsprotokoll speichern auf der Allgemein-Registerkarte der grafischen Benutzeroberfläche des Datenbankoptimierungsratgebers auswählen. Weitere Informationen zum Verwenden der beiden Benutzeroberflächen des Datenbankoptimierungsratgebers finden Sie unter Vorgehensweise: Optimieren einer Datenbank und dta (Dienstprogramm).

Wenn Sie für das -e-Argument des Dienstprogramms dta weder eine Datei noch einen Tabellennamen angeben, können Sie die Optimierungsprotokollinformationen mithilfe der grafischen Benutzeroberfläche anzeigen. Klicken Sie während oder nach Abschluss der Optimierungssitzung auf die Registerkarte Status, um das Optimierungsprotokoll in der grafische Benutzeroberfläche anzuzeigen. Weitere Informationen finden Sie unter Vorgehensweise: Anzeigen der Optimierungsausgabe.

Im Optimierungsprotokoll in der grafischen Benutzeroberfläche sind die in der folgenden Tabelle aufgelisteten Spalten enthalten.

Spalten des Optimierungsprotokolls

Spaltenname

Beschreibung

CategoryID

Ordnet den Datensatz einem definierten Bezeichner (ID) zu. Den einzelnen Instanzen des Fehlers wird eine ID zugewiesen. Bei dieser ID handelt es sich um eine dreistellige Zahl, der ein einzelnes Präfixzeichen vorangestellt wird. Dieses Präfix ermöglicht Ihnen, die Tabelle des Optimierungsprotokolls nach Einträgen zu dem Fehler zu durchsuchen, der in Verbindung mit einer Anweisung, einer Einschränkung oder einem Server aufgetreten ist. Durch das Präfixzeichen werden die Datensätze folgenden Kategorien zugeordnet:

  • S: mit einer Anweisung oder der Arbeitsauslastung verbundene Fehler

  • C: mit einer Einschränkung verbundene Fehler

  • E: mit einem Server verbundene Fehler

Event

Die Ereigniszeichenfolge (ggf.). Da es Meldungen gibt, die mit keinem Ereignis verbunden sind, kann diese Spalte auch leer sein. Die Ereigniszeichenfolge entspricht dem Namen einer gespeicherten Prozedur, einem Batch usw.

Statement

Der Datenbankoptimierungsratgeber analysiert das Ereignis und optimiert die dem Ereignis zugeordneten Anweisungen. In dieser Spalte wird die Anweisung aufgezeichnet (ggf.), die der an den Benutzer zurückgegebenen Meldung zugeordnet ist. Wenn der Eintrag für die Meldung nicht relevant ist, kann diese Spalte auch leer sein. Die Spalte bleibt auch dann leer, wenn der Server ein Ereignis nicht analysieren kann.

Frequency

Die Häufigkeit, in der der Datensatz vorkommt. Die Standardeinstellung ist 1.

Reason

Die Ursache, warum die Anweisung oder das Ereignis nicht optimiert werden konnte. Diese Meldung kann durch den Server, ODBC oder durch den Datenbankoptimierungsratgeber generiert werden.

In den folgenden Tabellen sind Meldungen aufgelistet, die für die Kategorien zurückgegeben werden können, die der vorigen Tabelle im Beschreibungstext für die CategoryID-Spalte aufgelistet sind.

Mit Anweisungen oder der Arbeitsauslastung verbundene Fehler

Kategorie-ID

Optimierungsprotokollmeldung

S001

Die Anweisung verweist nicht auf Tabellen.

S002

Die Anweisung verweist auf Objekte, die nicht für die Optimierung ausgewählt sind.

S003

Die Anweisung verweist nur auf kleine Tabellen.

S004

Die Anweisung verweist auf Indexhinweise, oder die Anweisung enthält einen NOEXPAND-Abfragehinweis.

S005

Die Hardwaremerkmale des lokalen Computers werden angenommen.

Wird bei Verwendung des Testserver-Optimierungsmodus zurückgegeben. Die erweiterte gespeicherte Prozedur xp_msver hat einen Fehler zurückgegeben. Dadurch kann der Datenbankoptimierungsratgeber die Hardwaremerkmale des Remotecomputers nicht bestimmen. Weitere Informationen finden Sie unter Reduzieren der Optimierungsauslastung des Produktionsservers.

S006

Der auf den zugeordneten Datenträgern verfügbare Speicher wird ignoriert.

Aufgrund eines Fehlers können durch den Datenbankoptimierungsratgeber keine Informationen zu dem auf den zugeordneten Datenträgern verfügbaren Speicherplatz abgefragt werden. In diesem Fall übernimmt der Datenbankoptimierungsratgeber für den verfügbaren Speicherplatz das Dreifache der aktuellen Rohdatengröße. Diese umfasst die Gesamtgröße der Heaps und gruppierten Indizes der Tabellen in der Datenbank.

S0071

Ersetzen Sie zur Optimierung das Ereignis <string> durch <string>.

S0082

Das Ereignis verweist nicht auf Tabellen.

S0092

Das Ereignis verweist auf Objekte, die nicht für die Optimierung ausgewählt sind.

1 Der Datenbankoptimierungsratgeber ersetzt die Ereignisse sp_cursoropen, sp_executesql, sp_prepare, sp_cursorprepare, sp_prepexec und sp_cursorprepexec durch die Transact-SQL-Zeichenfolge, die für die Optimierung in diese Ereignisse eingebettet ist. Fehlermeldung S007 stellt das ursprüngliche und das ersetzte Ereignis in der Reason-Spalte des Optimierungsprotokolls bereit.

2 Bei diesen Meldungen handelt es sich um Meldungen auf der Ereignisebene, d. h., die Statement-Spalte des Optimierungsprotokolls bleibt leer.

Mit einer Einschränkung verbundene Fehler

Kategorie-ID

Optimierungsprotokollmeldung

C002

Die indizierte Sicht, die in der Eingabekonfiguration angegeben ist, weist keine Schlüssel auf. Dies wird jedoch beim Verarbeiten der Konfiguration ignoriert.

C003 oder C004

Der Datenbankoptimierungsratgeber erkennt, ob zum Optimieren der Arbeitsauslastung die Standardoptimierungsdauer oder eine vom Benutzer angegebene Optimierungsdauer festgelegt wurde, und gibt im Optimierungsprotokoll eine der folgenden Meldungen zurück. (dta.exe geht von 8 Stunden aus, und die grafische Benutzeroberfläche geht von einer Stunde aus)

Wenn die Standarddauer verwendet wurde, lautet die Meldung:

Es wurden nicht alle Ereignisse in der Arbeitsauslastung analysiert. dta.exe geht von einer Standarddauer von 8 Stunden aus. Legen Sie mit einer der folgenden Methoden eine Zeitbegrenzung fest. (1) Wenn Sie die grafische Benutzeroberfläche verwenden, begrenzen Sie die Optimierungszeit auf der Registerkarte Optimierungsoptionen. (2) Wen Sie dta.exe verwenden, geben Sie die maximale Zeitdauer für das -A-Argument an. (3) Wenn Sie eine XML-Eingabedatei verwenden, geben Sie die maximale Zeitdauer für das TuningTimeInMin-Element unter TuningOptions an.

Wenn eine vom Benutzer angegebene Zeitdauer verwendet wurde, lautet die Meldung:

Es wurden nicht alle Ereignisse in der Arbeitsauslastung analysiert. Erhöhen Sie mit einer der folgenden Methoden die Zeitbegrenzung. (1) Wenn Sie die grafische Benutzeroberfläche verwenden, begrenzen Sie die Optimierungszeit auf der Registerkarte Optimierungsoptionen. (2) Wen Sie dta.exe verwenden, geben Sie die maximale Zeitdauer für das -A-Argument an. (3) Wenn Sie eine XML-Eingabedatei verwenden, geben Sie die maximale Zeitdauer für das TuningTimeInMin-Element unter TuningOptions an.

Mit einem Server verbundene Fehler

Kategorie-ID

Optimierungsprotokollmeldung

E000

Bestimmte Meldung vom Server. Die Meldung kann unterschiedlich ausfallen.

E001

Bestimmte Meldung vom Testserver. Die Meldung kann unterschiedlich ausfallen.

E002

Die Datenbank konnte nicht erfolgreich auf dem Testserver geklont werden.