Überblick

SQL Server ist eine großartige Plattform, um Ihre Datenbankanwendung schnell zum Laufen zu bringen. Über die grafische Oberfläche von SQL Server Management Studio können Sie in kürzester Zeit Tabellen erstellen, Daten einfügen, gespeicherte Prozeduren entwickeln usw. Anfänglich läuft Ihre Anwendung in Ihren Produktions-, Test- und Entwicklungsumgebungen hervorragend, aber wenn die Verwendung der Anwendung zunimmt und die Größe Ihrer Datenbank zunimmt, werden Sie möglicherweise Leistungseinbußen oder noch schlimmer Beschwerden von Benutzern bemerken.

Hier kommt die Leistungsüberwachung und -optimierung ins Spiel. Normalerweise treten die ersten Anzeichen von Leistungsproblemen aufgrund von Beschwerden der Benutzer auf. Ein Bildschirm, der früher sofort geladen wurde, dauert jetzt einige Sekunden. Oder ein Bericht, dessen Ausführung früher einige Minuten dauerte, dauert jetzt eine Stunde. Wie bereits erwähnt, entstehen diese Probleme normalerweise durch Beschwerden von Benutzern. Mit wenigen Schritten und Techniken können Sie diese Probleme überwachen und entsprechend anpassen, sodass Ihre Datenbankanwendungen immer mit maximaler Leistung ausgeführt werden.

In diesem Tutorial werden wir einige der häufigsten Probleme mit der Leistung behandeln, wie zum Beispiel:

  • Deadlocks
  • Blockierung
  • fehlende und nicht verwendete Indizes
  • E / A-Engpässe
  • schlechte Abfragepläne
  • Statistiken
  • Warte Statistiken
  • Zersplitterung

Wir werden uns die grundlegenden Techniken ansehen, die allen Datenbankadministratoren und Entwicklern bekannt sein sollten, um sicherzustellen, dass ihre Datenbankanwendungen eine Spitzenleistung erbringen.

 

Um die Leistung Ihrer SQL Server-Umgebung zu überwachen und zu verbessern, müssen Sie wissen, welche Tools verfügbar sind und wie diese Tools verwendet werden.

In diesem Abschnitt werden die folgenden Tools vorgestellt, um Ihnen eine Einführung zu geben, wie sie verwendet werden und wie Sie sie zum Sammeln leistungsbezogener Daten verwenden können.

  • Dynamische Verwaltungsansichten (DMVs) und Systemkatalogansichten
  • Profiler- und serverseitige Traces
  • Windows-Leistungsmonitor
  • Integrierte Leistungsberichte in SSMS
  • Abfragepläne
  • Berater für Datenbankoptimierung

Profiler- und serverseitige Traces

SQL Server bietet ein großartiges Tool, mit dem Sie sehen können, welche Anweisungen auf Ihrem SQL Server ausgeführt werden, und Metriken wie Dauer, Anzahl der Lesevorgänge, Anzahl der Schreibvorgänge, den Computer, auf dem die Abfrage ausgeführt wurde, usw. erfassen können bekannt als Profiler.

Profiler ist ein GUI-basiertes Tool, das einen SQL Server-Trace ausführt, um die oben aufgeführten Metriken sowie zusätzliche Daten zu erfassen. Diese Daten können dann verwendet werden, um festzustellen, wo Ihre SQL Server-Leistungsprobleme mit Ihrem TSQL-Code zusammenhängen. Das Ausführen eines Trace ohne Verwendung von Profiler wird als serverseitiger Trace bezeichnet. Sie können den Trace mit TSQL-Befehlen erstellen und starten, anstatt die GUI verwenden zu müssen.

Erläuterung

Die meisten Benutzer verwenden Profiler, um einen Trace auszuführen, da die GUI ziemlich einfach ist, um einen Trace einzurichten und auszuführen. Sobald Sie die Vorteile der Verwendung eines serverseitigen Trace verstanden haben, werden Sie diese häufiger verwenden, es sei denn, Sie beheben ein Problem, das genau zu diesem Zeitpunkt auftritt.