Tools für die Leistungsüberwachung und -optimierung

MicrosoftSQL Server stellt einen umfassenden Satz von Tools für die Überwachung von Ereignissen in SQL Server und für die Optimierung des physikalischen 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

sp_trace_setfilter (Transact-SQL)

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.

Ü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. 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.

Vorgehensweise: Öffnen von Aktivitätsmonitor (SQL Server Management Studio)

Der Aktivitätsmonitor in SQL Server Management Studio stellt Informationen zu folgenden Punkten grafisch dar:

  • Prozesse, die unter einer Instanz von SQL Server ausgeführt werden

  • Gesperrte Prozesse

  • Sperren

  • Benutzeraktivität

Dies ist vor allem für Ad-hoc-Ansichten der aktuellen Aktivität hilfreich.

Einführung in die SQL-Ablaufverfolgung

In Transact-SQL gespeicherte Prozeduren, mit denen die Ablaufverfolgung erstellt, gefiltert und definiert werden:

Überwachen der 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.

Gespeicherte Systemprozeduren (Transact-SQL)

Die folgenden im SQL Server-System gespeicherten Prozeduren bilden eine leistungsfähige Alternative für zahlreiche Überwachungsaufgaben:

Gespeicherte ProzedurBeschreibung
sp_who (Transact-SQL)Meldet Snapshot-Informationen zu aktuellen SQL Server-Benutzern und -Prozessen, einschließlich der derzeit ausgeführten Anweisung und der Information, ob die Anweisung blockiert wurde.
sp_lock (Transact-SQL)Meldet Snapshot-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.

DBCC (Transact-SQL)

DBCC-Anweisungen (Database Consistency Checker, Datenbankkonsistenzprüfer) ermöglichen die Überprüfung der Leistungsstatistik und der logischen und physikalischen Konsistenz einer Datenbank.

Funktionen (Transact-SQL)

Integrierte Funktionen zeigen Snapshotstatistiken ü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 (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.

Optimieren des physischen Datenbankentwurfs

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

Profiler

Systemmonitor

Aktivitätsmonitor

Transact-SQL

Fehlerprotokoll

Trendanalyse

Ja

Ja

 

 

 

Wiedergeben aufgezeichneter Ereignisse

Ja

 

 

 

 

Ad-hoc-Überwachung

Ja

 

Ja

Ja

Ja

Generieren von Warnungen

 

Ja

 

 

 

Grafische Schnittstelle

Ja

Ja

Ja

 

Ja

Verwendung im Rahmen von benutzerdefinierten Anwendungen

Ja 1

 

 

Ja

 

1 Mithilfe von Prozeduren, die im SQL Server Profiler-System gespeichert sind.

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.