Analysieren Ihrer Datenbank-Workload auf einer Amazon RDS for SQL Server DB-Instance mit Database Engine Tuning Advisor - Amazon Relational Database Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Analysieren Ihrer Datenbank-Workload auf einer Amazon RDS for SQL Server DB-Instance mit Database Engine Tuning Advisor

Database Engine Tuning Advisor ist eine von Microsoft bereitgestellte Client-Anwendung, die den Workload der Datenbank analysiert und einen optimalen Satz von Indizes für Ihre Microsoft SQL Server-Datenbanken basierend auf den Arten von Abfragen empfiehlt, die Sie ausführen. Wie auch SQL Server Management Studio kann der Optimierungshelfer von einem Client-Computer ausgeführt werden, der eine Verbindung zu Ihrer Amazon RDS-DB-Instance aufbaut, auf der SQL Server ausgeführt wird. Beim Clientcomputer kann es sich um einen lokalen hauseigenen Computer innerhalb Ihres Netzwerks oder um eine Amazon EC2-Windows-Instance handeln, die in der gleichen Region wie Ihre Amazon RDS-DB-Instance ausgeführt wird.

In diesem Abschnitt wird gezeigt, wie ein Workload für eine Analyse im Optimierungshelfer erfasst wird. Das ist die bevorzugte Vorgehensweise für die Erfassung einer Workload, da der Host-Zugriff auf die SQL Server-Instance durch Amazon RDS beschränkt wird. Weitere Informationen finden Sie unter Database Engine Tuning Advisor in der Microsoft-Dokumentation.

Um den Optimierungshelfer zu verwenden, müssen Sie dem Helfer eine sogenannte Workload zur Verfügung stellen. Eine Workload besteht aus einer Reihe von Transact-SQL-Statements, die in einer oder in mehreren Datenbanken ausgeführt werden, die Sie optimieren möchten. Der Datenbank-Engine-Optimierungshelfer verwendet bei der Optimierung von Datenbanken Trace-Dateien, Trace-Tabellen, Transact-SQL-Skripts oder XML-Dateien als Workload-Input. Bei der Arbeit mit Amazon RDS kann eine Workload eine Datei auf einem Clientcomputer oder eine Datenbanktabelle in einer Amazon RDS for SQL Server-DB sein, die für Ihren Clientcomputer zugänglich ist. Die Datei oder Tabelle muss Abfragen für die zu optimierenden Datenbanken enthalten, die in einem Format vorliegen, das für eine erneute Wiedergabe geeignet ist.

Damit der Optimierungshelfer optimal arbeiten kann, muss eine Workload so realistisch sein wie möglich. Sie können eine Workload-Datei oder -Tabelle erzeugen, indem Sie ein Trace für Ihre DB-Instance durchführen. Sie können während der Ausführung eines Trace entweder eine Belastung Ihrer DB-Instance simulieren oder Ihre Anwendungen mit normaler Belastung ausführen.

Es gibt zwei Arten von Traces: clientseitig und serverseitig. Die Einrichtung eines clientseitigen Trace ist unkomplizierter und es können im SQL Server Profiler Trace-Ereignisse in Echtzeit erfasst werden. Die Einrichtung eines serverseitigen Trace ist komplizierter und erfordert etwas Transact-SQL-Scripting. Darüber hinaus wird durch den Trace Speicherplatz verbraucht, da der Trace in der Amazon RDS-DB-Instance in eine Datei geschrieben wird. Es ist wichtig, zu beachten, wie viel Speicherplatz die Ausführung eines serverseitigen Trace benötigt, da die DB-Instance in den Storage-Full-Status wechseln könnte und dann nicht mehr verfügbar ist, sobald der Speicherplatz ausgeht.

Sobald in SQL Server Profiler bei einer Client-seitigen Nachverfolgung eine ausreichende Menge an Daten erfasst wurde, können Sie die Workload-Datei erzeugen, indem Sie die Nachverfolgung entweder als Datei auf dem lokalen Computer oder in einer Datenbank-Tabelle auf einer DB-Instance speichern, die für den Client-Computer verfügbar ist. Der Hauptnachteil bei der Verwendung eines clientseitigen Trace ist der, dass unter großer Auslastung eventuell nicht alle Abfragen vom Trace erfasst werden. Das könnte die Effektivität der vom Datenbank-Engine-Optimierungshelfer durchgeführten Analyse negativ beeinträchtigen. Muss ein Trace unter großer Auslastung ausgeführt werden und Sie möchten sicherstellen, dass während einer Trace-Sitzung alle Abfragen erfasst werden, sollte ein serverseitiger Trace zum Einsatz kommen.

Für einen serverseitigen Trace müssen die Trace-Dateien in der DB-Instance in einer geeigneten Workload-Datei gespeichert oder der Trace in einer Tabelle in der DB-Instance gespeichert werden, nachdem der Trace abgeschlossen ist. Sie können den SQL Server Profiler verwenden, um den Trace in einer Datei auf Ihrem lokalen Computer zu speichern oder lassen den Optimierungshelfer aus der Trace-Tabelle in der DB-Instance lesen.