Explorative Analyse mithilfe des Datenbankoptimierungsratgebers

Datenbankadministratoren können den Datenbankoptimierungsratgeber verwenden, um eine explorative Analyse durchzuführen. Die explorative Analyse umfasst eine Kombination aus manueller und toolbasierter Optimierung. Um eine explorative Analyse mithilfe des Datenbankoptimierungsratgebers durchzuführen, verwenden Sie das benutzerdefinierte Konfigurationsfeature. Mit dem benutzerdefinierten Konfigurationsfeature können Sie Konfigurationen von bestehenden und hypothetischen physischen Entwurfsstrukturen, z. B. Indizes, indizierten Sichten und Partitionierungen, für die Optimierung angeben. Das Angeben hypothetischer Strukturen hat den Vorteil, dass Sie deren Auswirkungen beurteilen können, ohne dass durch die Implementierung zusätzlicher Verwaltungsaufwand entsteht.

Obwohl sowohl die grafische Benutzeroberfläche (GUI, Graphical User Interface) des Datenbankoptimierungsratgebers als auch das Befehlszeilen-Dienstprogramm dta die explorative Analyse unterstützen, bietet dta größere Flexibilität, da es eine XML-Eingabedatei verwenden kann. Diese XML-Eingabedatei verwendet das XML-Schema des Datenbankoptimierungsratgebers, ein veröffentlichtes Schema, das unter Database Engine Tuning Advisor Schema (in Englisch) heruntergeladen werden kann.

Navigieren Sie zu dieser URL, und scrollen Sie durch die Tabellenzeilen, bis Sie den Link zum Schema des Datenbankoptimierungsratgebers erreichen. Die exakte URL für dieses Schema befindet sich in der Spalte daneben. Dieses XML-Schema unterstützt die Angabe von hypothetischen Konfigurationen, die entweder isoliert oder relativ zur aktuellen Konfiguration ausgewertet werden, für die Analyse. Im Gegensatz dazu wird von der grafischen Benutzeroberfläche des Datenbankoptimierungsratgebers nur die Auswertung einer Teilmenge der Strukturen aus einer vom Datenbankoptimierungsratgeber generierten Empfehlung vollständig unterstützt.

Zwei Modi der explorativen Analyse

Die explorative Analyse kann in einem der folgenden zwei Modi mit dem Datenbankoptimierungsratgeber durchgeführt werden:

  • Auswertungsmodus

    Im Auswertungsmodus vergleicht der Datenbankoptimierungsratgeber die Kosten der aktuellen Konfiguration (K) mit denen einer benutzerdefinierten Konfiguration (B) für die gleiche Arbeitsauslastung. Bei K handelt es sich immer um eine reale Konfiguration, da sie aus physischen Entwurfsstrukturen besteht, die derzeit in der Datenbank vorhanden sind. Dagegen ist B eine Konfiguration, die aus realen und hypothetischen physischen Entwurfsstrukturen besteht. Falls der Datenbankoptimierungsratgeber meldet, dass die Kosten für B niedriger sind als die Kosten für K, ist der physische Entwurf für B wahrscheinlich leistungsfähiger als der für K.

    Der Auswertungsmodus ist z. B. in folgenden Situationen nützlich:

    • Ein Administrator möchte ermitteln, inwiefern sich das Hinzufügen eines nicht gruppierten Indexes zu einer Tabelle auf die Leistung auswirkt.

    • Ein Administrator hat den Datenbankoptimierungsratgeber verwendet, um eine Datenbank zu optimieren, und die Empfehlung (E) erhalten. Nachdem der Administrator E überprüft hat, möchte er E ändern, um die Empfehlung weiter zu optimieren. Er möchte beispielsweise zwei nicht gruppierte Indizes hinzufügen und einen nicht gruppierten Index, der Teil von E war, löschen. Nachdem der Administrator Änderungen an E vorgenommen hat, verwendet er die geänderte Empfehlung als Eingabe für den Datenbankoptimierungsratgeber und führt erneut eine Optimierung durch, um die Auswirkungen seiner Änderungen auf die Leistung zu messen.

  • Optimierungsmodus

    Im Optimierungsmodus weiß ein Datenbankadministrator bereits, dass ein Teil des physischen Datenbankentwurfs korrigiert werden soll, aber er möchte, dass der Datenbankoptimierungsratgeber die besten physischen Entwurfsstrukturen für den Rest der Konfiguration empfiehlt.

    Der Optimierungsmodus ist z. B. in folgenden Situationen nützlich:

    • Ein Datenbankadministrator weiß, dass eine Faktentabelle partitioniert werden muss, weil sie zu groß ist. Der Administrator muss entscheiden, ob sie nach Monat oder nach Quartal partitioniert werden soll. Beide Möglichkeiten wären denkbar, aber der Administrator möchte die Partitionierungsmethode wählen, die die beste Leistung für eine bestimmte Arbeitsauslastung bietet. Um die beste Partitionierungsmethode zu ermitteln, kann der Administrator den Datenbankoptimierungsratgeber verwenden, um die Arbeitsauslastung zweimal zu optimieren. Zuerst optimiert der Administrator die Arbeitsauslastung mithilfe einer benutzerdefinierten Konfiguration, bei der die Tabelle hypothetisch nach Monat partitioniert wurde. Dann optimiert er die Arbeitsauslastung mit einer hypothetischen Konfiguration, bei der die Tabelle nach Quartal partitioniert wurde. Nachdem die Arbeitsauslastung mit beiden hypothetischen Konfigurationen optimiert wurde, kann der Administrator die prozentuale Steigerung vergleichen, um zu ermitteln, welche Partitionierungsmethode die beste Leistung bietet.

    • Eine Orders-Tabelle benötigt einen gruppierten Index für die ship_date-Spalte. Der Datenbankadministrator möchte den besten Satz von nicht gruppierten Indizes für die Orders-Tabelle ermitteln. Er kann den physischen Datenbankentwurf teilweise korrigieren, indem er eine benutzerdefinierte Konfiguration angibt, die in der Orders-Tabelle einen gruppierten Index für die ship_date-Spalte aufweist. Anschließend kann der Administrator den Datenbankoptimierungsratgeber im Optimierungsmodus verwenden, um die Auswirkungen der benutzerdefinierten Konfiguration auf die Leistung zu ermitteln.

Informationen zum Vergleich zweier Konfiguration für eine bestimmte Arbeitsauslastung

Ein häufiges Szenario ist der Vergleich zweier unterschiedlicher Konfigurationen für eine bestimmte Arbeitsauslastung. Beispielsweise empfiehlt der Datenbankoptimierungsratgeber eine bestimmte Konfiguration, und der Administrator möchte herausfinden, welche Auswirkungen eine etwas andere Konfiguration hätte. Beim Vergleich der neuen mit der ursprünglichen Konfiguration für die gleiche Arbeitsauslastung ist es wichtig, anstelle der grafischen Benutzeroberfläche das Befehlszeilen-Dienstprogramm dta zu verwenden, denn mithilfe der Option -n des Befehlszeilen-Dienstprogramms können Sie angeben, wie viele Arbeitsauslastungsereignisse der Datenbankoptimierungsratgeber optimieren soll. Wenn Sie für jede Konfiguration die gleiche Ereignisanzahl angeben, die der Datenbankoptimierungsratgeber optimieren soll, können Sie sicher sein, dass die beiden Optimierungssitzungen äquivalent und somit vergleichbar sind. Dies ist wichtig, da der Datenbankoptimierungsratgeber u. U. nicht die gesamte Arbeitsauslastung in der angegebenen Zeit optimieren kann. Weitere Informationen finden Sie unter dta (Dienstprogramm) und unter Vorgehensweise: Optimieren einer Datenbank mithilfe des dta-Dienstprogramms.

Überlegungen zum Verwenden benutzerdefinierter Konfigurationen

Beachten Sie Folgendes:

  • Benutzerdefinierte Konfigurationen können aus den folgenden physischen Entwurfsobjekten bestehen: Indizes, indizierte Sichten, Partitionierungen von Indizes und indizierten Sichten sowie Statistiken.

  • Mithilfe der grafischen Benutzeroberfläche des Datenbankoptimierungsratgebers können Sie eine benutzerdefinierte Konfiguration in eine Optimierungssitzung importieren. Um eine Konfiguration zu importieren, klicken Sie im Menü Datei auf Sitzungsdefinition importieren.

  • Darüber hinaus können Sie die grafische Benutzeroberfläche des Datenbankmodul-Optimierungsratgebers verwenden, um eine Teilmenge der Indizes aus den Empfehlungen auszuwählen und mit dieser ausgewählten Teilmenge der empfohlenen Konfiguration eine neue Sitzung für die Auswertung zu starten.

Einschränkungen bei benutzerdefinierten Konfigurationen

Benutzerdefinierte Konfigurationen weisen die folgenden Einschränkungen auf:

  • Die Konfigurationsspezifikation muss dem XML-Schema DTAschema.xsd des Datenbankmodul-Optimierungsratgebers entsprechen, das auf dieser Microsoft-Website verfügbar ist.

  • In der Konfiguration sollte nicht angeben werden, dass ein bereits vorhandener Index oder eine indizierte Sicht der Datenbank hinzugefügt wird.

  • Die Konfiguration sollte keine Sichten enthalten, für die keine Indizes erstellt werden können.

  • In der Konfiguration sollte nicht versucht werden, einen nicht vorhandenen Index oder einen Index, der eine Einschränkung (z. B. eine UNIQUE- oder PRIMARY KEY-Einschränkung) erzwingt, zu löschen.

  • Die Konfiguration ist nicht in der Lage, denselben Index zu erstellen und zu löschen. So können Sie beispielsweise nicht Index I in Tabelle T erstellen und anschließend löschen. Das Gegenteil, also Index I in Tabelle T zu löschen und anschließend wieder zu erstellen, ist ebenfalls nicht möglich.