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 (Hilfsprogramm).
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:
|
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. |