Datenbankmodul-Optimierungsratgeber (Features)

Aktualisiert: 17. Juli 2006

Der Datenbankmodul-Optimierungsratgeber bietet neue Features, mit denen sowohl unerfahrene als auch erfahrene Datenbankadministratoren Datenbanken optimieren können, um die Abfrageleistung zu verbessern. In den folgenden Abschnitten werden die neuen Features des Datenbankmodul-Optimierungsratgebers beschrieben:

Verbesserte Analyse der Arbeitsauslastung

  • Verarbeitet Batches, die auf vorübergehende Tabellen verweisen, z. B. temp-Tabellen.
  • Beendet die Optimierung nicht, wenn ein Ereignis nicht analysiert werden kann. Stattdessen wird das Ereignis im Optimierungsprotokoll protokolliert und mit der Optimierung weiterer Ereignisse fortgefahren.
  • Analysiert und optimiert Abfragen, die auf benutzerdefinierte Funktionen verweisen.
  • Verarbeitet alle USE-Anweisungen in einer Ablaufverfolgung. Das ist beim Optimieren mehrerer Datenbanken erforderlich.
  • Verwendet die LoginName-Spalte in der Arbeitsauslastung (wenn sie in der Ablaufverfolgungstabelle zur Arbeitsauslastung verfügbar ist), um das Ereignis im Kontext des Benutzers, der das Ereignis ausführt, richtig zu optimieren.
  • Optimiert Anweisungen in Triggern.

Verbesserte Skalierbarkeit

  • Mit der verwendeten Arbeitsauslastungskomprimierung kann der Datenbankmodul-Optimierungsratgeber die Optimierung in weniger Zeit ausführen und hochwertige Optimierungsempfehlungen erzielen.
  • Verwendet einen Algorithmus, mit dem die Erstellung redundanter Statistiken verhindert wird, wodurch die Anzahl der entstehenden E/As beim Optimieren reduziert wird.

Integrierte Optimierung

Der Datenbankmodul-Optimierungsratgeber kann die Auswirkungen auf die Leistung berücksichtigen, die bei verschiedenen Typen physikalischer Entwurfsstrukturen (Indizes, indizierte Sichten, Partitionierung) bestehen. Verschiedene Strukturen können in Bezug auf die Möglichkeit zur Reduzierung der Ausführungskosten für eine beliebige Abfrage überlappen. Wenn eine integrierte Konfiguration aus mehreren Entwurfsstrukturen einbezogen werden kann, kann der Datenbankmodul-Optimierungsratgeber daher hochwertigere Empfehlungen bereitstellen. Wenn z. B. nur gruppierte Indizes für eine Gruppe von Tabellen berücksichtigt werden und anschließend die horizontale Bereichspartitionierung für dieselbe Gruppe von Tabellen, können Sie nicht ermitteln, auf welche Weise diese zwei physikalischen Entwurfsstrukturen zusammenarbeiten. Um diese Zusammenarbeit zu verstehen, muss das Optimierungstool eine integrierte Optimierung ausführen.

Optimieren mehrerer Datenbanken

Anwendungen greifen oft auf mehrere Datenbanken zu, sodass Arbeitsauslastungen häufig auf Objekte von mehreren Datenbanken verweisen. Im Gegensatz zum Indexoptimierungs-Assistenten in Microsoft SQL Server 2000 kann der Datenbankmodul-Optimierungsratgeber mehrere Datenbanken gleichzeitig optimieren. Benutzer können mehrere Datenbanken angeben, die optimiert werden sollen, und der Datenbankmodul-Optimierungsratgeber gibt Empfehlungen für alle ausgewählten Datenbanken. Informationen zu diesem Feature finden Sie unter Optimieren mehrerer Datenbanken.

Auslagern des Optimierungsaufwands auf den Testserver

Durch das Optimieren einer großen Arbeitsauslastung kann es zu einem hohen Verarbeitungsaufwand auf dem Server kommen, der optimiert wird. Das liegt daran, dass der Datenbankmodul-Optimierungsratgeber bei der Optimierung oft mehrere Aufrufe an den Abfrageoptimierer richten muss. Wenn Sie zusätzlich zum Produktionsserver einen Testserver verwenden, wird dieses Problem behoben.

In diesem Szenario optimieren Sie einen Testserver, mit dem die Umgebung des Produktionsservers dupliziert wird. Wenn Sie als Ergebnis der Optimierung des Testservers eine Konfigurationsempfehlung für den Datenbankentwurf erhalten haben, können Sie die Empfehlung während eines Wartungsfensters auf dem Produktionsserver implementieren.

Die traditionelle Verwendungsweise eines Testservers besteht im Kopieren aller Daten vom Produktionsserver auf den Testserver, Optimieren des Testservers und anschließendem Anpassen der Empfehlung in Bezug auf Hardwareunterschiede zwischen den beiden Computern. Der Datenbankmodul-Optimierungsratgeber kann einen Testserver verwenden, ohne dass das Kopieren der Daten auf den Testcomputer erforderlich ist oder die beiden Computerhardwarekomponenten identisch sein müssen. Dadurch sparen Sie Zeit und Ressourcen. Stattdessen importiert der Datenbankmodul-Optimierungsratgeber die Metadaten, Statistiken und Hardwareparameter aus dem Produktionsserver auf den Testserver. Dann führt der Datenbankmodul-Optimierungsratgeber die Optimierungsvorgänge auf dem Testserver aus, und Sie können die Ergebnisse bei einer normalen Wartung auf dem Produktionsserver implementieren. Informationen zu diesem Feature finden Sie unter Reduzieren der Optimierungsauslastung des Produktionsservers.

Befehlszeilen-Dienstprogramm und GUI-Tool

Der Datenbankmodul-Optimierungsratgeber bietet die folgenden beiden Benutzeroberflächen:

  • Das Befehlszeilen-Dienstprogramm dta, mit dem die Funktionalität des Datenbankmodul-Optimierungsratgebers auf einfache Weise in die Skripterstellung integriert werden kann.
  • Ein Tool für die grafische Benutzeroberfläche (Graphical User Interface, GUI) des Datenbankmodul-Optimierungsratgebers, mit dem Optimierungssitzungen und Ergebnisse einfach angezeigt werden können.

Optimieren durch Löschen

Physikalische Entwurfsstrukturen in einer Datenbank können mit der Zeit zunehmen, und Datenbankadministratoren brauchen eine Möglichkeit, diese nicht länger benötigten Strukturen zu löschen. Die Option zum Optimieren durch Löschen ist beim Identifizieren vorhandener physikalischer Entwurfsstrukturen hilfreich, die entweder überhaupt nicht verwendet werden oder für eine bestimmte Arbeitsauslastung wenig Vorteile bieten. Diese Optimierungsoption kann mit dem –fx-Argument angegeben werden, wenn Sie das Befehlszeilen-Dienstprogramm dta verwenden. Wenn Sie die GUI verwenden, können Sie diese Option angeben, indem Sie auf der Registerkarte Optimierungsoptionen die Option Nur Auslastung vorhandener physikalischer Entwurfsstrukturen bewerten auswählen.

Bei dieser Option schlägt der Datenbankmodul-Optimierungsratgeber nie neue Strukturen vor. Sie können diese Option daher nicht zusammen mit anderen Optionen verwenden, die Indizes, indizierte Sichten oder Partitionen hinzufügen. Sie können die Option zum Optimieren durch Löschen auch nicht mit der Option zum Beibehalten aller vorhandenen Strukturen verwenden. Weitere Informationen zu den Optimierungsoptionen, die Sie mit dem Datenbankmodul-Optimierungsratgeber verwenden können, finden Sie unter Verfügbare Optimierungsoptionen.

XML-Unterstützung

Alle Optimierungsvorgänge, die in der grafischen Benutzeroberfläche (GUI) des Datenbankmodul-Optimierungsratgebers und mit dem Befehlszeilen-Dienstprogramm dta zur Verfügung stehen, können in der XML-Eingabedatei des Datenbankmodul-Optimierungsratgebers definiert werden. Die XML-Eingabedatei beruht auf dem veröffentlichten XML-Schema des Datenbankmodul-Optimierungsratgebers, das sich am folgenden Speicherort im Installationsverzeichnis von Microsoft SQL Server 2005 befindet:

C:\Programme\Microsoft SQL Server\90\Tools\Binn\schemas\sqlserver\2004\07\dta\dtaschema.xsd

Sie können auch das Schema vom Database Engine Tuning Advisor Schema (auf Englisch) auf der Microsoft-Website downloaden.

Wenn Sie eine XML-Eingabedatei verwenden, können Sie beim Optimieren von Datenbanken Ihre bevorzugten XML-Tools verwenden. Außerdem bietet sie erfahreneren Datenbankadministratoren mehr Flexibilität. Wenn Sie eine XML-Eingabedatei verwenden, können Sie z. B. eine Konfiguration vorhandener und hypothetischer physikalischer Entwurfsstrukturen (Indizes, indizierte Sichten, Partitionen) angeben und dann mit dem Befehlszeilen-Dienstprogramm dta eine Datenbank so optimieren, als sei diese Konfiguration bereits implementiert worden. Das ermöglicht eine Was-wäre-wenn-Analyse ohne den Verarbeitungsaufwand, der durch das Implementieren der neuen Konfiguration vor der Optimierung verursacht wird. Weitere Informationen zur XML-Unterstützung des Datenbankmodul-Optimierungsratgebers finden Sie unter XML-Eingabedatei (Referenz) (DTA), Optimierung mithilfe einer XML-Eingabedatei und Explorative Analyse mithilfe des Datenbankmodul-Optimierungsratgebers.

Unterstützung für benutzerdefinierte Konfigurationen und Was-wäre-wenn-Analysen

Der Datenbankmodul-Optimierungsratgeber ermöglicht Benutzern, eine hypothetische Konfiguration mit physikalischen Entwurfsstrukturen (Indizes, indizierte Sichten und Partitionierungsstrategien) als Eingabe zur Optimierung bereitzustellen. Sie können dann eine oder mehrere Datenbanken so optimieren, als sei die Konfiguration bereits implementiert worden. Dadurch können Sie eine Was-wäre-wenn-Analyse zu einem bestimmten Satz von physikalischen Entwurfsstrukturen ausführen, bevor Sie sie mit dem entsprechenden Mehraufwand implementieren. Dieses Feature wird vollständig vom XML-Schema des Datenbankmodul-Optimierungsratgebers unterstützt. Sie können die gewünschte Konfiguration angeben, die Sie in der XML-Eingabedatei auswerten möchten, und dann die Optimierungssitzung mit dem Befehlszeilen-Dienstprogramm dta starten. Informationen zu diesem Feature finden Sie unter Explorative Analyse mithilfe des Datenbankmodul-Optimierungsratgebers.

Analyseberichte

Wenn eine Optimierungssitzung abgeschlossen ist, generiert der Datenbankmodul-Optimierungsratgeber mehrere Analyseberichte in Textform oder im XML-Format. Diese Berichte enthalten Informationen wie z. B. die Kosten von Abfragen, die in der Arbeitsauslastung auftreten, die Häufigkeit von Ereignissen, die in der Arbeitsauslastung auftreten, oder die Beziehungen zwischen Abfragen und den Indizes, auf die sie verweisen. Sie können die Berichte mit der GUI des Datenbankmodul-Optimierungsratgebers anzeigen. Die in XML generierten Berichte können Sie mit dem üblichen XML-Editor öffnen. Weitere Informationen zu den Analyseberichten, die der Datenbankmodul-Optimierungsratgeber generiert, finden Sie unter Auswählen eines Datenbankmodul-Optimierungsratgeberberichts.

Optimierungssitzungen

Vor Beginn der Analyse werden Sie vom Datenbankmodul-Optimierungsratgeber aufgefordert, einen eindeutigen Namen oder eine eindeutige Nummer zum Identifizieren der Optimierungssitzung zu erstellen. Nach dem Analysieren einer Arbeitsauslastung oder beim Beenden der Analyse speichert der Datenbankmodul-Optimierungsratgeber die Informationen zur Optimierungssitzung und verknüpft sie mit dem Bezeichner, den Sie vor der Optimierung bereitgestellt haben. Mit der Sitzungs-ID können Sie eine vorhandene Sitzung erneut in die GUI des Datenbankmodul-Optimierungsratgebers laden. Dort können Sie die Ergebnisse und Berichte der Optimierung überprüfen. Durch Optimierungssitzungen ist es einfach, Optimierungsergebnisse über eine bestimmte Zeit zu vergleichen. Weitere Informationen zum Verwenden von Optimierungssitzungen finden Sie unter Auswerten der Optimierungsempfehlungen mithilfe des Sitzungsmonitors.

Nur mit dem Dienstprogramm dta verfügbare Features

Die in der folgenden Liste aufgeführten Optimierungsoptionen sind aktuell nicht verfügbar, wenn Sie den Datenbankmodul-Optimierungsratgeber (GUI) verwenden.

Von einer Befehlszeile oder das Verwenden einer XML-Eingabedatei

Wenn Sie das Dienstprogramm dta von der Befehlszeile ausführen, oder wenn Sie eine XML-Eingabedatei mit dem Dienstprogramm mithilfe des -ix-Befehlszeilenarguments verwenden, könne Sie Folgendes angeben:

  • Ein Optimierungsprotokoll mit Name (-e-Befehlszeilenargument oder TableName-Element).
  • Die Anzahl der Ereignisse zum optimieren (-n-Befehlszeilenargument oderNumberOfEvents-Element).
  • Die maximale Anzahl an Schlüsselspalten, die durch den Datenbankmodul-Optimierungsratgeber vorgeschlagen werden (-c-Befehlszeilenargument oder MaxKeyColumnsInIndex-Element).
  • Die minimale Verbesserung für den Datenbankmodul-Optimierungsratgeber, um eine empfohlene Konfiguration vorzuschlagen: -m-Befehlszeilenargument oder MinPercentageImprovement-Element).

Beim Verwenden einer XML-Eingabedatei

Zusätzlich zu den oben genannten Features können Sie, wenn Sie die XML-Eingabedatei mit dem dta-Dienstprogramm verwenden, Folgendes machen:

  • Verwenden Sie das Testserver/Produktionsserver-Szenario, dass das Erstellen einer Shell-Datenbank auf dem Testserver beinhaltet (TestServer-Element).
  • Geben Sie eine Inlinearbeitsauslastung in der XML-Eingabedatei an (EventString-Element).
  • Ignorieren Sie Konstanten in einer Arbeitsauslastung (IgnoreConstantsInWorkload-Element).

Von der Befehlszeile

Zusätzlich zu dem oben genannten Feature, wenn Sie das dta-Dienstprogramm von der Befehlszeile ausführen, können Sie Folgendes machen:

  • Geben Sie den stillem Modus an, in dem das Dienstprogramm ohne das Anzeigen von Feedbackmeldungen ausgeführt wird (-q-Befehlszeilenargument).
  • Optimieren und wenden Sie automatisch die Optimierungsempfehlungen an (-a-Befehlszeilenargument).

Siehe auch

Andere Ressourcen

dta (Dienstprogramm)
Optimierung mithilfe einer XML-Eingabedatei
Reduzieren der Optimierungsauslastung des Produktionsservers

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

05. Dezember 2005

Neuer Inhalt:
  • Hinzufügen des Abschnitts "Nur im Dienstprogramm dta verfügbare Features."
Geänderter Inhalt:
  • Geänderte Installationsorte für das XML-Schema des Datenbankmodul-Optimierungsratgebers.