Optimieren der Datenbank mithilfe der Workload aus dem Abfragespeicher mit dem Datenbankoptimierungsratgeber

Gilt für:SQL Server

Die Funktion Abfragespeicher in SQL Server erfasst automatisch einen Verlauf der Abfragen, Pläne und Laufzeitstatistiken und speichert diese Informationen in der Datenbank. Der Datenbankoptimierungsratgeber (Datenbankoptimierungsratgeber, DTA) unterstützt eine neue Option, bei der man den Abfragespeicher verwenden kann, um automatisch eine entsprechende Arbeitsauslastung für die Optimierung auszuwählen. Viele Benutzer müssen dadurch nicht mehr explizit eine Arbeitsauslastung für die Optimierung erfassen.

Diese Funktion ist nur verfügbar, wenn in der Datenbank die Abfragespeicherfunktion aktiviert ist. Weitere Informationen finden Sie unter Aktivieren des Abfragespeicher.

Dieses Feature ist in SQL Server Management Studio, Version 16.4 oder höher verfügbar.

So optimieren Sie eine Arbeitslast aus dem Abfragespeicher in der GUI von Datenbankoptimierungsratgeber

Wählen Sie über die DTA GUI das Optionsfeld Abfragespeicher im Bereich Allgemein aus, um diese Funktion zu aktivieren (siehe folgende Abbildung).

DTA-Workload aus Abfragespeicher

So optimieren Sie eine Arbeitsauslastung aus dem Abfragespeicher im Befehlszeilenprogramm „dta.exe“

Wählen Sie in der Befehlszeile (dta.exe) die Option -iq aus, um den Workload aus dem Abfragespeicher auszuwählen.

Es stehen zwei zusätzliche Optionen zur Verfügung, die über die Kommandozeile verwendet werden können und mit denen das Verhalten von DTA bei der Auswahl des Workloads aus dem Abfragespeicher angepasst werden kann. Folgende Optionen sind nicht über die GUI verfügbar:

  1. Anzahl der zu optimierenden Workloadereignisse: Diese Option, die mithilfe des Befehlszeilenarguments -n angegeben wird, ermöglicht Benutzern die Kontrolle darüber, wie viele Ereignisse aus dem Abfragespeicher optimiert werden. Standardmäßig verwendet DTA einen Wert von 1000 für diese Option. DTA wählt immer die ressourcenintensivsten Ereignisse nach Gesamtdauer aus.

  2. Zeitfenster der zu optimierenden Ereignisse: Nachdem der Abfragespeicher möglicherweise viele Abfragen enthält, die vor langer Zeit ausgeführt wurden, ermöglicht diese Option dem Benutzer das Angeben eines vergangenen Zeitfensters (in Stunden), wann eine Abfrage ausgeführt worden sein muss, damit sie von DTA für die Optimierung berücksichtigt wird. Diese Option wird mithilfe des Befehlszeilenarguments -I angegeben.

Weitere Informationen finden Sie unter dta Utility.

Unterschied zwischen der Verwendung des Workloads aus dem Abfragespeicher und dem Plancache

Der Unterschied zwischen den Optionen „Abfragespeicher“ und „Plancache“ liegt darin, dass ersterer einen langen Verlauf von Abfragen enthält, die in der Datenbank ausgeführt wurden und zwischen Serverneustarts beibehalten werden. Der Plancache enthält dagegen nur eine Teilmenge von kürzlich ausgeführten Abfragen, deren Pläne im Arbeitsspeicher zwischengespeichert werden. Wenn der Server neu gestartet wird, werden die Einträge im Plancache gelöscht.