Ermitteln des Optimierungspotenzials von Ereignissen

Wenn der Datenbankoptimierungsratgeber von SQL Server Database Engine (Datenbankmodul) ein Ereignis nicht optimiert, wird das Ereignis in ein Optimierungsprotokoll geschrieben. In der grafischen Benutzeroberfläche (GUI, Graphical User Interface) des Datenbankoptimierungsratgebers von SQL Server Database Engine (Datenbankmodul) können Sie auf der Registerkarte Allgemein die Option Optimierungsprotokoll speichern auswählen und das Protokoll im unteren Fensterbereich der Registerkarte Status anzeigen. Falls Sie das dta-Dienstprogramm verwenden, können Sie mit dem Argument -e einen Dateinamen und Speicherort für die Optimierungsdatei angeben. Weitere Informationen finden Sie unter Vorgehensweise: Anzeigen der Optimierungsausgabe.

Häufige Gründe, weshalb der Datenbankoptimierungsratgeber ein Ereignis nicht optimiert

Die häufigsten Gründe, weshalb der Datenbankoptimierungsratgeber von SQL Server Database Engine (Datenbankmodul) Ereignisse nicht optimiert, sind:

  • Eine Arbeitsauslastung verweist auf Tabellen, die der Benutzer nicht für die Optimierung ausgewählt hat.

  • Eine Arbeitsauslastung verweist auf sehr kleine Tabellen. Beispielsweise Tabellen mit weniger als 10 Datenseiten.

  • Der Optimierungsratgeber von SQL Server Database Engine (Datenbankmodul) kann die Arbeitsauslastung nicht innerhalb des angegebenen Zeitlimits optimieren.

Weitere Informationen finden Sie unter Gründe, aus denen Ereignisse nicht optimiert sind.

Ermitteln des Optimierungspotenzials eines Ereignisses

Es gibt eine sehr einfache Methode, um zu ermitteln, ob der SQL Server Database Engine (Datenbankmodul)-Optimierungsratgeber ein bestimmtes Ereignis optimieren kann. Stellen Sie einfach fest, ob für dieses Ereignis eine Showplanausgabe verfügbar ist. Verwenden Sie SQL Server Management Studio, um zu bestimmen, ob eine Showplanausgabe abgerufen werden kann. Der SQL Server Database Engine (Datenbankmodul)-Optimierungsratgeber kann das Ereignis nur optimieren, wenn vom Server für dieses Ereignis und in der Datenbank, in der das Ereignis ausgeführt wurde, eine Showplanausgabe erstellt wird. Weitere Informationen finden Sie unter Anzeigen von grafischen Ausführungsplänen (SQL Server Management Studio).

Weshalb empfiehlt der Datenbankoptimierungsratgeber das Löschen einer großen Anzahl von Objekten?

Wenn der SQL Server Database Engine (Datenbankmodul)-Optimierungsratgeber eine große Anzahl von Empfehlungen zum Löschen physischer Entwurfsstrukturen generiert, könnte dies die folgenden Ursachen haben:

  • Wenn die Arbeitsauslastung gering ist oder auf eine kleine Teilmenge physischer Entwurfsstrukturen verwiesen wird, kann der SQL Server Database Engine (Datenbankmodul)-Optimierungsratgeber das Löschen der restlichen physischen Entwurfsstrukturen empfehlen, weil von der Arbeitsauslastung nicht darauf verwiesen wird. Der SQL Server Database Engine (Datenbankmodul)-Optimierungsratgeber geht davon aus, dass die Arbeitsauslastung für die normale Arbeitsauslastung auf Ihrem Server repräsentativ ist und trifft die Empfehlungen auf dieser Grundlage.

  • Wenn die meisten Abfragen in der Arbeitsauslastung ignoriert werden, was zu einer großen Anzahl von Empfehlungen zum Löschen physischer Entwurfsstrukturen führt, kann dies folgende Ursachen haben:

    • Die falschen Datenbanken wurden für das Argument -d angegeben, falls das dta-Dienstprogramm verwendet wurde.

    • Die meisten Abfragen in der Arbeitsauslastung verweisen auf kleine Tabellen mit weniger als 10 Datenseiten.

    • Die meisten Transact-SQL-Anweisungen in der Arbeitsauslastung verweisen nicht auf optimierbare Objekte. Beispielsweise, wenn die Arbeitsauslastung viele SET-Anweisungen oder DECLARE-Anweisungen enthält.

Um die Ursache festzustellen, weshalb der SQL Server Database Engine (Datenbankmodul)-Optimierungsratgeber viele Empfehlungen zum Löschen generiert, überprüfen Sie die Optimierungsprotokollnachrichten. Weitere Informationen finden Sie unter Informationen zum Optimierungsprotokoll.