Vorgehensweise: Erstellen von Arbeitsauslastungen

Eine Arbeitsauslastung ist eine Gruppe von Transact-SQL-Anweisungen an mindestens eine Datenbank, die Sie optimieren möchten. Die grafische Benutzeroberfläche (GUI, Graphical User Interface) im Datenbankmodul-Optimierungsratgeber und das Befehlszeilen-Dienstprogramm dta verwenden beim Optimieren von Datenbanken Ablaufverfolgungsdateien, -tabellen oder Transact-SQL-Skripts zur Eingabe von Arbeitsauslastungen. Arbeitsauslastungen können ebenfalls in eine XML-Eingabedatei eingebettet werden, in der Sie auch für jedes Ereignis eine Gewichtung angeben können. Weitere Informationen zum Angeben von Inlinearbeitsauslastungen finden Sie unter Optimierung mithilfe einer XML-Eingabedatei.

Sie können den Abfrage-Editor in Microsoft SQL Server Management Studio oder einen bevorzugten Text-Editor verwenden, um Transact-SQL-Skriptarbeitsauslastungen zu erstellen. Um Arbeitsauslastungen für Ablaufverfolgungsdateien oder -tabellen zu erstellen, verwenden Sie SQL Server Profiler. Der Datenbankmodul-Optimierungsratgeber analysiert diese Arbeitsauslastungen, um Indizes oder Partitionsstrategien zu empfehlen, die die Abfrageleistung Ihres Servers verbessern.

ms190957.note(de-de,SQL.90).gifHinweis:
Wenn Sie eine Ablaufverfolgungstabelle als Arbeitsauslastung verwenden, muss diese Tabelle auf demselben Server vorhanden sein, auf dem der Datenbankmodul-Optimierungsratgeber die Optimierung vornimmt. Wenn Sie die Ablaufverfolgungstabelle auf einem anderen Server erstellen, müssen Sie sie dann auf den Server verschieben, der über den Datenbankmodul-Optimierungsratgeber optimiert wird.

So erstellen Sie Transact-SQL-Skriptarbeitsauslastungen mit dem Abfrage-Editor von SQL Server Management Studio

  1. Starten Sie den Abfrage-Editor in SQL Server Management Studio. Weitere Informationen zum Durchführen dieses Schrittes finden Sie unter Bearbeiten von Skripts und Dateien in SQL Server Management Studio.

  2. Geben Sie Ihr Transact-SQL-Skript in den Abfrage-Editor ein. Dieses Skript sollte eine Gruppe von Transact-SQL-Anweisungen an mindestens eine zu optimierende Datenbank enthalten. Speichern Sie die Datei mit der Erweiterung SQL. Die GUI im Datenbankmodul-Optimierungsratgeber und das Befehlszeilen-Dienstprogramm können dieses Transact-SQL-Skript als Arbeitsauslastung verwenden.

So erstellen Sie mithilfe von SQL Server Profiler Arbeitsauslastungen für Ablaufverfolgungsdateien und -tabellen

  1. Starten Sie SQL Server Profiler mithilfe einer der folgenden Methoden:

    • Zeigen Sie im Menü Start auf Alle Programme, Microsoft SQL Server 2005, Leistungstools, und klicken Sie dann auf SQL Server Profiler.
    • Klicken Sie in SQL Server Management Studio auf das Menü Extras, und klicken Sie dann auf SQL Server Profiler.
  2. Erstellen Sie eine Ablaufverfolgungsdatei oder -tabelle mithilfe der SQL Server Profiler-Vorlage Tuning, wie in den folgenden schrittweisen Anleitungen beschrieben:

Die Verwendung der Optimierungsvorlage von SQL Server Profiler zum Aufzeichnen von Arbeitsauslastungen für den Datenbankmodul-Optimierungsratgeber wird empfohlen.

Wenn Sie Ihre eigene Vorlage verwenden möchten, müssen Sie sicherstellen, dass die folgenden Ablaufverfolgungsereignisse für die von Ihnen verwendete SQL Server-Version aufgezeichnet werden.

SQL Server 2005:

  • RPC:Completed
  • SQL:BatchCompleted
  • SP:StmtCompleted

SQL Server 2000:

  • RPC:Completed
  • SQL:BatchCompleted

Sie können auch die Starting-Versionen dieser Ablaufverfolgungsereignisse verwenden. Zum Beispiel SQL:BatchStarting. Jedoch beinhalten die Completed-Versionen dieser Ablaufverfolgungsereignisse die Duration-Spalte, die es dem Datenbankmodul-Optimierungsratgeber ermöglichen, die Arbeitsauslastung effizienter zu optimieren. Der Datenbankmodul-Optimierungsratgeber optimiert keine anderen Arten von Ablaufverfolgungsereignissen. Weitere Informationen zu diesen Ablaufverfolgungsereignissen finden Sie unter Gespeicherte Prozeduren (Ereigniskategorie) und TSQL-Ereigniskategorie. Informationen zum Verwenden der gespeicherten Prozeduren der SQL-Ablaufverfolgung zum Erstellen einer Arbeitsauslastung der Ablaufverfolgungsdatei finden Sie unter Vorgehensweise: Erstellen einer Ablaufverfolgung (Transact-SQL).

Ablaufverfolgungsdatei- oder Ablaufverfolgungstabellen-Arbeitsauslastungen, die die LoginName-Datenspalte enthalten

Der Datenbankmodul-Optimierungsratgeber übermittelt im Rahmen des Optimierungsprozesses Showplan-Anforderungen. Wenn eine Ablaufverfolgungstabelle oder -datei, die die LoginName-Datenspalte enthält, als Arbeitsauslastung verbraucht wird, nimmt der Datenbankmodul-Optimierungsratgeber die Identität des in LoginName angegebenen Benutzers an. Wenn dieser Benutzer keine SHOWPLAN-Berechtigung besitzt (über die der Benutzer für die in der Ablaufverfolgung enthaltenen Anweisungen Showplans erstellen und ausführen kann), werden diese Anweisungen nicht durch den Datenbankmodul-Optimierungsratgeber optimiert. Weitere Informationen zur LoginName-Datenspalte finden Sie unter Beschreiben von Ereignissen mithilfe von Datenspalten. Weitere Informationen zur SHOWPLAN-Berechtigung finden Sie unter Showplansicherheit.

So vermeiden Sie, jedem der in der LoginName-Spalte der Ablaufverfolgung angegebenen Benutzer die SHOWPLAN-Berechtigung erteilen zu müssen

  1. Optimieren Sie eine Ablaufverfolgungsdatei- oder Ablaufverfolgungstabellen-Arbeitsauslastung. Weitere Informationen finden Sie unter Vorgehensweise: Optimieren einer Datenbank.

  2. Überprüfen Sie das Optimierungsprotokoll auf Anweisungen, die aufgrund von unzureichenden Berechtigungen nicht optimiert wurden. Weitere Informationen finden Sie unter Informationen zum Optimierungsprotokoll und Vorgehensweise: Anzeigen der Optimierungsausgabe.

  3. Erstellen Sie eine neue Arbeitsauslastung, indem Sie die LoginName-Spalte der nicht optimierten Ereignisse löschen und anschließend nur die nicht optimierten Ereignisse in einer neuen Ablaufverfolgungsdatei oder -tabelle speichern. Weitere Informationen zum Löschen von Datenspalten aus einer Ablaufverfolgung finden Sie unter Vorgehensweise: Angeben von Ereignissen und Datenspalten für eine Ablaufverfolgungsdatei (SQL Server Profiler) und Vorgehensweise: Ändern einer vorhandenen Ablaufverfolgung (Transact-SQL).

  4. Übermitteln Sie die neue Arbeitsauslastung ohne die LoginName-Spalte an den Datenbankmodul-Optimierungsratgeber.

Der Datenbankmodul-Optimierungsratgeber optimiert nun die neue Arbeitsauslastung, da in der Ablaufverfolgung keine Anmeldeinformationen angegeben sind. Wenn für eine Anweisung LoginName nicht vorhanden ist, optimiert der Datenbankmodul-Optimierungsratgeber diese Anweisung, indem er die Identität des Benutzers annimmt, der die Optimierungssitzung gestartet hat (ein Mitglied der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner).

Siehe auch

Konzepte

Optimieren von Datenbanken

Andere Ressourcen

Vorgehensweise: Optimieren einer Datenbank
Einführung in SQL Server Profiler
Einführung in die SQL-Ablaufverfolgung

Hilfe und Informationen

Informationsquellen für SQL Server 2005