Überwachen von SQL Server-Komponenten

Gilt für:SQL Server

Die Überwachung ist wichtig, da SQL Server einen Dienst in einer dynamischen Umgebung bereitstellt. Die Daten in der Anwendung ändern sich. Die Art des Zugriffs, den Benutzer benötigen, ändert sich. Die Art der Verbindungsherstellung ändert sich. Möglicherweise ändern sich sogar die Typen der Anwendungen, die auf SQL Server zugreifen, aber SQL Server verwaltet automatisch Ressourcen auf Systemebene, z. B. Arbeits- oder Datenträgerspeicher, um den Bedarf an manueller Optimierung auf Systemebene zu minimieren. Mithilfe der Überwachung können Administratoren Leistungstrends identifizieren, um zu bestimmen, ob Änderungen erforderlich sind.

So überwachen Sie effektiv eine beliebige Komponente von SQL Server:

  1. Bestimmen Sie, welche Ziele durch das Überwachen erreicht werden sollen.
  2. Wählen Sie das geeignete Tool aus.
  3. Identifizieren Sie die zu überwachenden Komponenten.
  4. Wählen Sie Eigenschaften für diese Komponenten aus.
  5. Überwachen Sie den Server.
  6. Analysieren der Daten:

Diese Schritte werden unten der Reihe nach erläutert.

Bestimmen der Überwachungsziele

Um SQL Server effektiv überwachen zu können, sollten Sie die Gründe für die Überwachung eindeutig identifizieren. Möglich sind z. B. folgende Gründe:

  • Festlegen einer Basislinie für die Leistung.
  • Identifzieren von Leistungsänderungen über einen bestimmten Zeitraum hinweg.
  • Diagnostizieren bestimmter Leistungsprobleme.
  • Identifizieren der zu optimierenden Komponenten oder Prozesse.
  • Vergleichen der Auswirkungen unterschiedlicher Clientanwendungen auf die Leistung.
  • Überwachen der Benutzeraktivität.
  • Testen eines Servers unter verschiedenen Belastungen.
  • Testen der Datenbankarchitektur.
  • Testen der Wartungspläne.
  • Testen der Sicherungs- und Wiederherstellungspläne.
  • Bestimmen des Zeitpunkts für die Änderung der Hardwarekonfiguration.

Auswählen des geeigneten Tools

Nachdem Sie die Gründe für die Überwachung ermittelt haben, müssen Sie die geeigneten Tools für den Typ der Überwachung auswählen. Das Windows-Betriebssystem und SQL Server stellen einen vollständigen Satz von Tools bereit, um Server in transaktionsintensiven Umgebungen zu überwachen. Diese Tools zeigen den Zustand einer Instanz der SQL Server-Datenbank-Engine oder einer Instanz von SQL Server Analysis Services an.

Windows stellt die folgenden Tools bereit, um die auf einem Server ausgeführten Anwendungen zu überwachen:

  • Starten des Leistungsmonitors (Windows), mit dem Sie Echtzeitdaten zu Aktivitäten wie Speicher-, Festplatten- und Prozessorauslastung erfassen und anzeigen können.
  • Leistungsprotokolle und Warnungen
  • Task-Manager

Weitere Informationen zu den Windows Server- oder Windows-Tools finden Sie in der Windows-Dokumentation.

SQL Server verfügt über die folgenden Tools zur Überwachung von Komponenten von SQL Server:

Wichtig

Die SQL-Ablaufverfolgung und SQL Server Profiler sind veraltet. Der Microsoft.SqlServer.Management.Trace-Namespace, der die Objekte für die Microsoft SQL Server-Ablaufverfolgung und -Wiedergabe enthält, ist ebenfalls veraltet.

Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.

Verwenden Sie stattdessen erweiterte Ereignisse. Weitere Informationen zur Übersicht über erweiterte Ereignisse finden Sie unter Schnellstart: Erweiterte Ereignisse und Verwenden des SSMS XEvent Profiler.

Hinweis

SQL Server Profiler für die Analysis Services-Workloads ist NICHT veraltet und wird weiterhin unterstützt.

Weitere Informationen zu Tools zur Überwachung von SQL Server finden Sie unter Leistungsüberwachungs- und Optimierungstools.

Identifizieren der zu überwachenden Komponenten

Der dritte Schritt bei der Überwachung einer Instanz von SQL Server besteht im Identifizieren der zu überwachenden Komponenten. Wenn Sie z. B. SQL Server Profiler verwenden, um eine Ablaufverfolgung für einen Server auszuführen, können Sie die Ablaufverfolgung so definieren, dass Daten zu bestimmten Ereignissen gesammelt werden. Darüber hinaus können Sie Ereignisse ausschließen, die für Ihre Situation nicht relevant sind.

Auswählen der Eigenschaften für die überwachten Komponenten

Nachdem Sie die zu überwachenden Komponenten identifiziert haben, bestimmen Sie die Eigenschaften für diese Komponenten. Nachdem Sie die Ereignisse ausgewählt haben, die bei der Ablaufverfolgung berücksichtigt werden sollen, können Sie beispielsweise festlegen, dass nur bestimmte Daten zu diesen Ereignissen berücksichtigt werden. Indem Sie die Ablaufverfolgung auf Daten beschränken, die für die Ablaufverfolgung relevant sind, werden die für die Ausführung der Ablaufverfolgung erforderlichen Systemressourcen minimiert.

Überwachen des Servers

Um den Server zu überwachen, führen Sie das Überwachungstool aus, das Sie zum Sammeln der Daten konfiguriert haben. Nachdem z. B. eine Ablaufverfolgung definiert wurde, können Sie die Ablaufverfolgung ausführen, um Daten zu Ereignissen zu sammeln, die auf dem Server ausgelöst wurden.

Analysieren der Daten

Nachdem die Ablaufverfolgung beendet wurde, können Sie die Daten analysieren, um zu überprüfen, ob Sie das Überwachungsziel erreicht haben. Falls Sie es nicht erreicht haben, ändern Sie die Komponenten oder Eigenschaften, die Sie beim Überwachen des Servers verwendet haben.

Die folgenden Schritte sind zur Aufzeichnung von Ereignisdaten und zu deren Verwendung erforderlich.

  1. Anwenden von Filtern, um die gesammelten Ereignisdaten einzuschränken.

    Durch Einschränken der Ereignisdaten kann sich das System auf bestimmte Ereignisse konzentrieren, die wesentlich für das Überwachungsszenario sind. Wenn z. B. langsame Abfragen überwacht werden, kann ein Filter verwendet werden, um nur die Abfragen zu überwachen, die von der Anwendung für eine bestimmte Datenbank ausgegeben wurden und deren Ausführung mindestens 30 Sekunden dauert.

    Weitere Informationen zum Filtern von Ablaufverfolgungen für erweiterte Ereignisse finden Sie unter Schnellstart: Erweiterte Ereignisse.

    Weitere Informationen zum Filtern einer SQL-Ablaufverfolgung finden Sie unter Festlegen eines Ablaufverfolgungsfilters (Transact-SQL) und Filtern von Ereignissen in einer Ablaufverfolgung (SQL Server Profiler).

  2. Überwachen (Aufzeichnen) der Ereignisse.

    Sobald die Überwachung aktiviert wurde, zeichnet sie Daten der angegebenen Anwendung, der Instanz von oder des Betriebssystems auf. Wenn beispielsweise die Datenträgeraktivität mithilfe des Systemmonitors überwacht wird, werden bei der Überwachung Ereignisdaten, z. B. Lese- und Schreibvorgänge auf dem Datenträger, aufgezeichnet und auf dem Bildschirm angezeigt. Weitere Informationen finden Sie unter Überwachen der Ressourcennutzung (Systemmonitor).

  3. Speichern aufgezeichneter Ereignisdaten.

    Durch das Speichern aufgezeichneter Daten können diese später analysiert werden. Aufgezeichnete Ereignisdaten werden in einer Datei gespeichert, die von dem Tool, das die Datei ursprünglich erstellt hat, zur späteren Analyse erneut geladen werden kann. Das Speichern aufgezeichneter Ereignisdaten ist wichtig, wenn Sie eine Leistungsbasislinie erstellen. Die Daten der Leistungsbasislinie werden gespeichert und für den Vergleich mit aktuell aufgezeichneten Ereignisdaten verwendet, um zu ermitteln, ob die Leistung optimal ist.

    Erweiterte Ereignisse ermöglichen das Speichern von Ereignisdaten in einer Ereignisdatei, einem Ereignisleistungsindikator, einem Histogramm oder einem Ringpuffer. Weitere Informationen finden Sie unter Ziele für erweiterte Ereignisse.

    Ereignisdaten zur SQL-Ablaufverfolgung können sogar mit dem Distributed Replay Utility oder SQL Server Profiler wiedergegeben werden. SQL Server Profiler ermöglicht das Speichern von Ereignisdaten in einer Datei oder SQL Server-Tabelle. Weitere Informationen finden Sie unter Vorlagen und Berechtigungen in SQL Server Profiler.

  4. Erstellen von Ablaufverfolgungsvorlagen, die die zum Aufzeichnen der Ereignisse angegebenen Einstellungen enthalten.

    Ablaufverfolgungsvorlagen enthalten Spezifikationen zu den Ereignissen selbst, Ereignisdaten sowie Filter, die zum Aufzeichnen von Daten verwendet werden. Diese Vorlagen können zur späteren Überwachung einer bestimmten Gruppe von Ereignissen verwendet werden, ohne die Ereignisse, Ereignisdaten und Filter erneut zu definieren. Wenn Sie z. B. die Anzahl der Deadlocks und die Benutzer, die an diesen Deadlocks beteiligt sind, häufig überwachen möchten, können Sie eine Vorlage erstellen, die diese Ereignisse, Ereignisdaten und Ereignisfilter definiert. Speichern Sie die Vorlage, und wenden Sie den Filter erneut an, wenn Sie die Deadlocks das nächste Mal überwachen möchten.

    Die Definition einer erweiterten Ereignissitzung ist eine Vorlage, für die ein Skript erstellt und die wiederverwendet werden kann. Weitere Informationen zum Erstellen und Verwalten von Sitzungen finden Sie unter Verwalten von Ereignissitzungen im Objekt-Explorer. Der Management Studio XEvent Profiler stellt bereits verwendungsbereite Vorlagen bereit. Weitere Informationen finden Sie unter Verwenden des SSMS XEvent Profilers.

    Der SQL Server Profiler verwendet für diesen Zweck Ablaufverfolgungsvorlagen. Weitere Informationen finden Sie unter Festlegen der Standardeinstellungen für Ablaufverfolgungsdefinitionen (SQL Server Profiler) und Erstellen einer Ablaufverfolgungsvorlage (SQL Server Profiler).

    Tipp

    Eine SQL Trace-Definition kann in eine Sitzung für erweiterte Ereignisse konvertiert werden. Weitere Informationen finden Sie unter Konvertieren eines vorhandenen SQL-Ablaufverfolgungsskripts in eine Sitzung für erweiterte Ereignisse.

  5. Analysieren aufgezeichneter Ereignisdaten.

    Zum Analysieren werden die aufgezeichneten Ereignisdaten in die Anwendung geladen, die die Daten aufgezeichnet hat.

    So kann beispielsweise eine aufgezeichnete Ablaufverfolgung für erweiterte Ereignisse erneut in SQL Server Management Studio geladen werden, um sie anzuzeigen und zu analysieren. Weitere Informationen finden Sie unter Anzeigen von Ereignisdaten in SQL Server Management Studio.

    SQL-Ablaufverfolgungsdaten können zum Anzeigen und Analysieren erneut in den SQL Server Profiler geladen werden. Weitere Informationen finden Sie unter Anzeigen und Analysieren von Ablaufverfolgungen mit SQL Server Profiler.

    Zur Analyse von Ereignisdaten gehört das Ermitteln der Abläufe und deren Ursachen. Mit diesen Informationen können Sie je nach Art der ausgeführten Analyse Änderungen zur Leistungsverbesserung vornehmen, z. B. das Hinzufügen von Arbeitsspeicher, das Ändern von Indizes und das Beheben von Codierungsproblemen im Zusammenhang mit Transact-SQL-Anweisungen oder gespeicherten Prozeduren. So können Sie z. B. den Datenbankoptimierungsratgeber für die Analyse einer aufgezeichneten Ablaufverfolgung aus erweiterten Ereignissen oder SQL Server Profiler verwenden und Indexempfehlungen auf der Grundlage der Ergebnisse vorschlagen.

  6. Wiedergeben aufgezeichneter Ereignisdaten (optional).

    Die Wiedergabe von Ereignissen ermöglicht das Erstellen einer Testkopie der Datenbankumgebung, von der die Daten aufgezeichnet wurden, und dann das Wiederholen der aufgezeichneten Ereignisse, so wie sie im echten System ursprünglich aufgetreten sind. Diese Funktion ist nur mit dem Distributed Replay Utility oder SQL Server Profiler verfügbar. Sie können die Ereignisse mit der Geschwindigkeit des ursprünglichen Auftretens oder so schnell wie möglich (um das System zu belasten) oder, wie in den meisten Fällen, schrittweise wiedergeben, wodurch das System nach jedem Ereignis analysiert werden kann. Durch das Analysieren der Ergebnisse in einer Testumgebung können Sie Schäden im Produktionssystem verhindern. Weitere Informationen finden Sie unter Wiedergeben von Ablaufverfolgungen.