Tools für die Leistungsüberwachung und -optimierung
Microsoft SQL Server stellt einen umfassenden Satz von Tools für die Überwachung von Ereignissen in SQL Server und für die Optimierung des physischen Datenbankentwurfs bereit. Das richtige Tool ergibt sich aus der Art der gewünschten Überwachung oder Optimierung sowie aus den jeweils zu überwachenden Ereignissen.
In SQL Server stehen die folgenden Tools zur Überwachung und Optimierung zur Verfügung:
Tool |
Beschreibung |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
SQL Server Profiler verfolgt Modulprozessereignisse wie das Starten eines Batches oder einer Transaktion. So können Sie die Server- und Datenbankaktivität überwachen (z. B. Deadlocks, schwerwiegende Fehler oder Anmeldeaktivität). Sie können SQL Server Profiler-Daten in einer SQL Server-Tabelle oder -Datei aufzeichnen und später analysieren oder die aufgezeichneten Ereignisse in SQL Server schrittweise wiedergeben, um den genauen Ablauf anzuzeigen. |
|||||||||||
Microsoft SQL Server Distributed Replay kann Ablaufverfolgungsdaten mithilfe mehrerer Computern wiedergeben und eine unternehmenswichtige Arbeitsauslastung simulieren. |
|||||||||||
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. Hiermit können Sie eine Instanz von SQL Server (remotely oder lokal) unter Windows NT 4.0 (oder höher) überwachen. Der wichtigste Unterschied zwischen SQL Server Profiler und dem Systemmonitor liegt darin, dass bei SQL Server Profiler die Datenbankmodulereignisse verfolgt werden, im Systemmonitor dagegen die Ressourcennutzung im Zusammenhang mit Serverprozessen. |
|||||||||||
Öffnen des Aktivitätsmonitors (SQL Server Management Studio) |
Der Aktivitätsmonitor in SQL Server Management Studio stellt Informationen zu folgenden Punkten grafisch dar:
Dies ist vor allem für Ad-hoc-Ansichten der aktuellen Aktivität hilfreich. |
||||||||||
In Transact-SQL gespeicherte Prozeduren, mit denen die Ablaufverfolgung erstellt, gefiltert und definiert wird: |
|||||||||||
Fehlerprotokolle |
Das Windows-Anwendungsereignisprotokoll liefert ein Gesamtbild der Ereignisse in den Betriebssystemen Windows Server und Windows insgesamt sowie der Ereignisse in SQL Server, dem SQL Server-Agent und der Volltextsuche. Hier sind Informationen zu Ereignissen in SQL Server enthalten, die anderweitig nicht zur Verfügung stehen. Sie können die Informationen im Fehlerprotokoll für die Problembehandlung von SQL Server nutzen. |
||||||||||
Die folgenden im SQL Server-System gespeicherten Prozeduren bilden eine leistungsfähige Alternative für zahlreiche Überwachungsaufgaben:
|
|||||||||||
DBCC-Anweisungen (Database Consistency Checker, Datenbankkonsistenzprüfer) ermöglichen die Überprüfung der Leistungsstatistik und der logischen und physischen Konsistenz einer Datenbank. |
|||||||||||
Integrierte Funktionen zeigen Momentaufnahmestatistiken über die SQL Server-Aktivität seit dem Starten des Servers an, die in vordefinierten SQL Server-Leistungsindikatoren gespeichert werden. So enthält beispielsweise @@CPU_BUSY die Zeitspanne, während der die CPU SQL Server-Code ausführte; @@CONNECTIONS enthält die Anzahl der SQL Server-Verbindungen oder versuchten Verbindungen, und @@PACKET_ERRORS enthält die Anzahl der Netzwerkpakete, die über SQL Server-Verbindungen übertragen wurden. |
|||||||||||
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. |
|||||||||||
Der Datenbankmodul-Optimierungsratgeber analysiert die Leistungsauswirkungen von Transact-SQL-Anweisungen, die auf die Datenbanken für die Optimierung ausgeführt werden. Der Datenbankmodul-Optimierungsratgeber bietet Empfehlungen zum Hinzufügen, Entfernen oder Ändern von Indizes, indizierten Sichten und Partitionierungen. |
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 |
SQL Server Profiler |
Distributed Replay |
Systemmonitor |
Aktivitätsmonitor |
Transact-SQL |
Fehlerprotokoll |
---|---|---|---|---|---|---|
Trendanalyse |
Ja |
Ja |
|
|
|
|
Wiedergeben aufgezeichneter Ereignisse |
Ja (von einem einzelnen Computer) |
Ja (von mehreren Computern) |
|
|
|
|
Ad-hoc-Überwachung |
Ja |
|
Ja |
Ja |
Ja |
|
Generieren von Warnungen |
|
Ja |
|
|
|
|
Grafische Schnittstelle |
Ja |
Ja |
Ja |
|
Ja |
|
Verwendung im Rahmen von benutzerdefinierten Anwendungen |
Ja1 |
|
|
Ja |
|
1 Mithilfe von gespeicherten SQL Server Profiler-Systemprozeduren.
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.