Tools für die Leistungsüberwachung und -optimierung

Gilt für:yes SQL Server (alle unterstützten Versionen)

Microsoft SQL Server bietet einen umfassenden Satz von Tools zum Überwachen von Ereignissen in SQL Server und zum Optimieren des physischen Datenbankentwurfs. Das richtige Tool ergibt sich aus der Art der gewünschten Überwachung oder Optimierung sowie aus den jeweils zu überwachenden Ereignissen.

Im Folgenden finden Sie SQL Server Tools für die Überwachung und Optimierung:

Tool BESCHREIBUNG
Integrierte Funktionen (Transact-SQL) Integrierte Funktionen zeigen Momentaufnahmestatistiken zu SQL Server-Aktivität seit dem Start des Servers an. Diese Statistiken werden in vordefinierten SQL Server gespeichert. Beispielsweise enthält @@CPU_BUSY die Zeit, die die CPU für SQL Server ausgeführt hat. @@CONNECTIONS enthält die Anzahl SQL Server Verbindungen oder versuchten Verbindungen, und @@PACKET_ERRORS enthält die Anzahl von Netzwerkpaketen, die auf SQL Server auftreten.
DBCC (Transact-SQL) DBCC-Anweisungen (Database Consistency Checker, Datenbankkonsistenzprüfer) ermöglichen die Überprüfung der Leistungsstatistik und der logischen und physischen Konsistenz einer Datenbank.
Datenbankoptimierungsratgeber (DTA) Datenbankoptimierungsratgeber analysiert die Leistungseffekte von Transact-SQL-Anweisungen, die für datenbanken ausgeführt werden, die Sie optimieren möchten. Der Datenbankoptimierungsratgeber bietet Empfehlungen zum Hinzufügen, Entfernen oder Ändern von Indizes, indizierten Sichten und Partitionierungen.
Assistent für Datenbankexperimente (DEA) Der Assistent für Datenbankexperimente (DEA) ist eine neue A/B-Testlösung für SQL Server. Sie hilft bei der Auswertung einer zielorientierten Version der SQL Server Datenbank-Engine für eine bestimmte Workload. Beim Upgrade von einer früheren SQL Server-Version (ab SQL Server 2005 (9.x)) auf eine neuere Version von SQL Server kann der DEA vergleichende Analysemetriken bereitstellen.
Fehlerprotokolle Das Windows-Anwendungsereignisprotokoll bietet eine allgemeine Abbildung der Ereignisse, die auf dem Windows Server- und Windows-Betriebssystem als Ganzes auftreten, sowie ereignisse in SQL Server, SQL Server-Agent und Volltextsuche. Sie enthält Informationen zu Ereignissen in SQL Server, die an anderer Stelle nicht verfügbar sind. Sie können die Informationen im Fehlerprotokoll verwenden, um problemebezogene SQL Server beheben.
Erweiterte Ereignisse Erweiterte Ereignisse ist ein Lightweight-Leistungsüberwachungssystem, das sehr wenige Leistungsressourcen verwendet. Die Funktion „Erweiterte Ereignisse“ stellt drei grafische Benutzeroberflächen („Assistent für neue Sitzungen“, „Neue Sitzung“ und „XE-Profiler“) zum Erstellen, Ändern, Anzeigen und Analysieren der Sitzungsdaten bereit.
Dynamische Verwaltungssichten und -funktionen im Zusammenhang mit der Ausführung (Transact-SQL) Dynamische Verwaltungssichten im Zusammenhang mit der Ausführung ermöglichen Ihnen das Überprüfen von Informationen im Zusammenhang mit der Ausführung.
Live-Abfragestatistiken (LQS) Zeigt Echtzeitstatistiken zu den Ausführungsschritten einer Abfrage an. Da diese Daten bereits während der Ausführung einer Abfrage verfügbar sind, ist diese Statistik eine große Hilfe beim Debuggen von Leistungsproblemen in Zusammenhang mit Abfragen.
Überwachen der Ressourcenverwendung (Systemmonitor) Der Systemmonitor verfolgt hauptsächlich die Ressourcennutzung, wie die Anzahl der verwendeten Seitenanforderungen des Puffer-Managers. So können Sie die Serverleistung und Aktivität mit vordefinierten Objekten und Leistungsindikatoren überwachen oder benutzerdefinierte Leistungsindikatoren zum Überwachen von Ereignissen verwenden. Der Systemmonitor erfasst Leistungsindikatoren und Raten für die Ereignisse anstelle von Daten über die Ereignisse (z. B. Speicherauslastung, Anzahl der aktiven Transaktionen, Anzahl der blockierten Sperren oder CPU-Aktivität). Für bestimmte Leistungsindikatoren können Schwellwerte festgelegt werden, um Warnungen zu generieren, durch die Operatoren benachrichtigt werden.

Der Systemmonitor kann unter den Betriebssystemen Microsoft Windows Server und Windows ausgeführt werden. Sie kann (remote oder lokal) eine Instanz von SQL Server auf Windows NT 4.0 oder höher überwachen.

Der Hauptunterschied zwischen SQL Server Profiler und Systemmonitor besteht in der SQL Server Profiler überwachung Datenbank-Engine Ereignissen, während der Systemmonitor die Ressourcennutzung überwacht, die Serverprozessen zugeordnet ist.
Öffnen des Aktivitätsmonitors (SQL Server Management Studio) Der Aktivitätsmonitor in SQL Server Management Studio ist nützlich für Ad-hoc-Ansichten der aktuellen Aktivität und zeigt grafisch Informationen zu folgenden Themen an:

– Prozesse, die auf einer Instanz von ausgeführt SQL Server
– Blockierte Prozesse
– Sperren
– Benutzeraktivität
Leistungsdashboard Das Leistungsdashboard in SQL Server Management Studio hilft, schnell zu ermitteln, ob es einen aktuellen Leistungsengpass in SQL Server.
Abfrageoptimierungs-Assistent (QTA) Das Feature Abfrageoptimierungs-Assistent (QTA) führt Benutzer durch den empfohlenen Workflow, um die Leistungsstabilität während Upgrades auf neuere SQL Server-Versionen zu gewährleisten. Dies ist im Abschnitt Beständigkeit der Leistung während des Upgrades auf neuere SQL Server von Abfrage-Store-Verwendungsszenarien dokumentiert.
Abfragespeicher Das Abfragespeicherfeature bietet Ihnen Einblick in die Auswahl und die Leistung eines Abfrageplans. Er vereinfacht das Beheben von Leistungsproblemen, indem er das schnelle Auffinden von Leistungsabweichungen durch Änderungen an Abfrageplänen ermöglicht. Der Abfragespeicher erfasst automatisch einen Verlauf der Abfragen, Pläne und Laufzeitstatistiken und bewahrt diese zur Überprüfung auf. Es unterteilt die Daten nach Zeitfenstern, sodass Sie Verwendungsmuster für Datenbanken erkennen können und verstehen, wann Abfrageplanänderungen auf dem Server aufgetreten sind.
SQL-Ablaufverfolgung Transact-SQL gespeicherte Prozeduren zum Erstellen, Filtern und Definieren der Ablaufverfolgung:

sp_trace_create (Transact-SQL)
sp_trace_generateevent (Transact-SQL)
sp_trace_setevent (Transact-SQL)
sp_trace_setfilter (Transact-SQL)
sp_trace_setstatus (Transact-SQL)
SQL Server Distributed Replay Microsoft SQL Server Distributed Replay können mehrere Computer verwenden, um Ablaufverfolgungsdaten wiederzuverspielen und so eine unternehmenskritische Workload zu simulieren.
sp_trace_setfilter (Transact-SQL) SQL Server Profiler Engine-Prozessereignisse, z. B. den Start eines Batches oder einer Transaktion, sodass Sie Server- und Datenbankaktivitäten überwachen können (z. B. Deadlocks, schwerwiegende Fehler oder Anmeldeaktivitäten). Sie können SQL Server Profiler daten in einer SQL Server-Tabelle oder einer Datei zur späteren Analyse erfassen und die in SQL Server erfassten Ereignisse auch schritt für Schritt wiederverfangen, um genau zu sehen, was passiert ist.
Gespeicherte Systemprozeduren (Transact-SQL) Die folgenden SQL Server systemgespeicherten Prozeduren stellen eine leistungsstarke Alternative für viele Überwachungsaufgaben dar:

sp_who (Transact-SQL)::
Meldet Momentaufnahmeinformationen über SQL Server Benutzer und Prozesse, einschließlich der aktuell ausgeführten Anweisung und der Blockierung der Anweisung.

sp_lock (Transact-SQL)::
Meldet Momentaufnahme-Informationen zu Sperren, einschließlich der Objekt-ID, der Index-ID, des Sperrentyps und des Typs oder der Ressource, auf die die Sperre angewendet wird.

sp_spaceused (Transact-SQL)::
Zeigt einen Schätzwert des Speicherplatzes an, der von einer Tabelle (oder einer gesamten Datenbank) belegt wird.

sp_monitor (Transact-SQL)::
Zeigt Statistiken, wie die CPU-Auslastung, die E/A-Verwendung und die Leerlaufzeit seit der letzten Ausführung von sp_monitor an.
Ablaufverfolgungsflags (Transact-SQL) Ablaufverfolgungsflags zeigen Informationen zu einer bestimmten Aktivität im Server an und werden für die Diagnose von Problemen oder Leistungskriterien (z. B. mehrere Deadlocks in Folge) verwendet.

Auswählen von Überwachungstools

Die Wahl eines geeigneten Überwachungstools hängt von der Art des Ereignisses und der Aktivität, die überwacht werden sollen, ab.

Ereignis oder Aktivität Erweiterte Ereignisse SQL Server Profiler Distributed Replay Systemmonitor Aktivitätsmonitor Transact-SQL Fehlerprotokolle Leistungsdashboard
Trendanalyse Ja Ja Ja
Wiedergeben aufgezeichneter Ereignisse Ja (von einem einzelnen Computer) Ja (von mehreren Computern)
Ad-hoc-Überwachung Ja1 Ja Ja Ja Ja Ja
Generieren von Warnungen Ja
Grafische Benutzeroberfläche Ja Ja Ja Ja Ja Ja
Verwendung im Rahmen von benutzerdefinierten Anwendungen Ja Ja2 Ja

1 Verwenden von SQL Server Management Studio XEvent Profiler
2 Verwenden SQL Server Profiler gespeicherten System prozeduren.

Windows-Überwachungstools

Die Windows-Betriebssysteme sowie Windows Server 2003 enthalten außerdem die folgenden Überwachungstools:

Tool BESCHREIBUNG
Task-Manager Zeigt eine vergleichende Übersicht über die Prozesse und Anwendungen an, die im System ausgeführt werden.
Netzwerkmonitor-Agent Überwacht die Netzwerkbelastung.

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