Informationen zu Arbeitsauslastungen
Um eine Empfehlung bezüglich des optimalen Satzes an Indizes, indizierten Sichten oder Partitionen auszugeben, benötigt der Datenbankoptimierungsratgeber eine Arbeitsauslastung. Eine Arbeitsauslastung besteht aus einem Transact-SQL-Skript oder einer SQL Server Profiler-Ablaufverfolgung, die in einer Datei oder Tabelle gespeichert wurde. Wenn Sie eine SQL Server Profiler-Ablaufverfolgungsdatei oder -Ablaufverfolgungstabelle verwenden, muss diese Ereignisklassen für Transact-SQL-Batches oder Remoteprozeduraufrufe (Remote Procedure Call, RPC) sowie die Event Class- und Text-Datenspalten enthalten. Weitere Informationen finden Sie unter TSQL-Ereigniskategorie.
Der Datenbankoptimierungsratgeber ist für die folgenden Arbeitsauslastungstypen ausgelegt:
Nur OLTP-Abfragen (Online Transaction Processing, Onlinetransaktionsverarbeitung)
Nur OLAP-Abfragen (Online Analytical Processing, analytische Onlineverarbeitung)
Gemischte OLTP- und OLAP-Abfragen
Abfrageintensive Arbeitsauslastungen (mehr Abfragen als Aktualisierungen)
Aktualisierungsintensive Arbeitsauslastungen (mehr Aktualisierungen als Abfragen)
Arbeitsauslastungen müssen viele optimierbare Ereignisse enthalten, die typische Arbeitsauslastungen darstellen, die für Ihre Datenbanken ausgeführt werden.
Wenn keine Arbeitsauslastung für die Analyse durch den Datenbankoptimierungsratgeber vorhanden ist, können Sie eine Arbeitsauslastung mithilfe der Optimierungsvorlage in SQL Server Profiler erstellen. Mit der Optimierungsvorlage werden die notwendigen Ereignisse und Spalten für die Optimierung mit dem Datenbankoptimierungsratgeber aufgezeichnet. Weitere Informationen finden Sie unter SQL Server Profiler-Vorlagen.
Nachdem die Ablaufverfolgung eine repräsentative Stichprobe der normalen Datenbankaktivität aufgezeichnet hat, analysiert der Datenbankoptimierungsratgeber die Arbeitsauslastung und empfiehlt eine optimale Konfiguration für Indizes, indizierte Sichten oder Partitionen, durch die die Leistung der Datenbank verbessert wird.
Außerdem können Sie Folgendes als Arbeitsauslastung verwenden.
Vergleichtstests speziell für Ihre Organisation oder Ihre Branche
Problematische Abfragen, deren Ausführung lange dauert
Verwenden von Arbeitsauslastungen
Beachten Sie Folgendes, wenn Sie Arbeitsauslastungen für den Datenbankoptimierungsratgeber verwenden:
Wenn Sie eine Ablaufverfolgungstabelle als Arbeitsauslastung verwenden, muss diese Tabelle auf dem Server vorhanden sein, den der Datenbankoptimierungsratgeber optimiert. Wenn Sie die Ablaufverfolgungstabelle auf einem anderen Server erstellen, müssen Sie sie auf den Server verschieben, den der Datenbankoptimierungsratgeber optimiert.
Stellen Sie sicher, dass die Ablaufverfolgung beendet wurde, bevor Sie eine Ablaufverfolgungstabelle als Arbeitsauslastung für den Datenbankoptimierungsratgeber verwenden. Der Datenbankoptimierungsratgeber kann keine Ablaufverfolgungstabelle als Arbeitsauslastung verwenden, in die noch Ablaufverfolgungsereignisse geschrieben werden.
Wenn Sie eine Ablaufverfolgungsdatei als Arbeitsauslastung verwenden, setzt der Datenbankoptimierungsratgeber voraus, dass es sich um eine Rolloverdatei handelt. Weitere Informationen zu Rolloverdateien finden Sie unter Beschränken der Größe der Ablaufverfolgungsdateie und -tabelle.
Wenn die Arbeitsauslastung Abfragen enthält, die den USE PLAN-Abfragehinweis verwenden, der SQL Server zur Verwendung eines bestimmten Abfrageplans zwingt, behält der Database Engine (Datenbankmodul)-Optimierungsratgeber alle Indizes im erzwungenen Plan bei und löscht keine dieser Indizes im Rahmen einer Optimierungsempfehlung.
Der Datenbankoptimierungsratgeber sendet als Teil des Optimierungsprozesses Showplan-Anforderungen. Wenn eine Ablaufverfolgungstabelle oder -datei, die die Datenspalte LoginName enthält, als Arbeitsauslastung gelesen wird, übernimmt der Datenbankoptimierungsratgeber die Identität des in LoginName angegebenen Benutzers. Wenn dieser Benutzer keine ausreichenden Berechtigungen zum Ausführen und Erstellen von Showplans oder in der Ablaufverfolgung enthaltenen Anweisungen besitzt, optimiert der Datenbankoptimierungsratgeber diese Anweisungen nicht. Um dieses Problem zu lösen, müssen Sie die LoginName-Spalte bei Ereignissen entfernen, die nicht optimiert werden. Weitere Informationen finden Sie im Abschnitt über Arbeitsauslastungen mit Ablaufverfolgungsdateien oder Ablaufverfolgungstabellen, die die LoginName-Datenspalte enthalten, unter Vorgehensweise: Erstellen von Arbeitsauslastungen.
Siehe auch