Optimieren der Datenbank mithilfe von Workload aus dem Abfragespeicher mit dem Optimierungsratgeber für Datenbankmodulen

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 (Database Engine Tuning Advisor, 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 Abfragespeichers.

Dieses Feature ist mit SQL Server Management Studio v16.4 oder höher verfügbar.

So optimieren Sie eine Arbeitsauslastung aus dem Abfragespeicher in der GUI des Datenbankoptimierungsratgebers

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

DTA workload from query store

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

Wählen Sie aus der Befehlszeile („dta.exe“) die Option -iq aus, um die Arbeitsauslastung aus dem Abfragespeicher auszuwählen.

Es stehen zwei zusätzliche Optionen über die Befehlszeile zur Verfügung, über die Sie das Verhalten von DTA bei der Auswahl der Arbeitsauslastung aus dem Abfragespeicher optimieren können. 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 von Workload 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.

Nächste Schritte