SQL Server Profiler

Gilt für:SQL ServerAzure SQL Managed Instance

SQL Server Profiler ist eine Benutzeroberfläche zum Erstellen und Verwalten von Ablaufverfolgungen sowie zum Analysieren und Wiedergeben ihrer Ergebnisse. Ereignisse werden in einer Ablaufverfolgungsdatei gespeichert, die später analysiert oder beim Diagnostizieren eines Problems zur Wiedergabe einer bestimmten Schrittabfolge verwendet werden kann.

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 zu erweiterten Ereignissen finden Sie unter Schnellstart: Erweiterte Ereignisse in SQL Server und Verwenden des SSMS XEvent Profilers.

Hinweis

SQL Server Profiler wird für Analysis Services-Workloads unterstützt.

Hinweis

Wenn Sie versuchen, eine Verbindung mit einer Azure SQL-Datenbank über den SQL Server Profiler herzustellen, wird fälschlicherweise eine irreführende Fehlermeldung wie folgt ausgelöst:

  • Zum Ausführen einer Ablaufverfolgung für SQL Server müssen Sie ein Mitglied einer festen sysadmin-Serverrolle sein oder über die ALTER TRACE-Berechtigung verfügen.

Die Nachricht sollte erläutern, dass Azure SQL-Datenbank nicht vom SQL Server Profiler unterstützt wird.

Wo befindet sich der Profiler?

Sie können den Profiler in SQL Server Management Studio oder mit dem Azure Data Studio starten, indem Sie die SQL Server Profiler-Erweiterung verwenden.

Aufzeichnen und Wiedergeben von Ablaufverfolgungsdaten

In der folgenden Tabelle werden die Funktionen angezeigt, deren Verwendung wir in SQL Server empfehlen, um Ablaufverfolgungsdaten zu erfassen und wiederzugeben.

Feature\Zielarbeitsauslastung Relationale Engine Analysis Services
Ablaufverfolgungssammlung Grafische Benutzeroberfläche fürerweiterte Ereignisse in SQL Server Management Studio SQL Server Profiler
Ablaufverfolgungswiedergabe Distributed Replay SQL Server Profiler

Verwenden des SQL Server Profilers

Microsoft SQL Server Profiler ist eine grafische Benutzeroberfläche für die SQL-Ablaufverfolgung zur Überwachung einer Instanz von Datenbank-Engine oder Analysis Services. Daten über die einzelnen Ereignisse können aufgezeichnet und in einer Datei oder Tabelle zur späteren Analyse gespeichert werden. Beispielsweise können Sie eine Produktionsumgebung überwachen und feststellen, welche gespeicherten Prozeduren langsam ablaufen und dadurch die Leistung beeinträchtigen. SQL Server Profiler wird beispielsweise für folgende Aktivitäten verwendet:

  • Schrittweises Untersuchen problematischer Abfragen, um die Ursache des Problems zu ermitteln.

  • Suchen und Diagnostizieren von Abfragen, die sehr langsam ausgeführt werden.

  • Erfassen der Reihe der Transact-SQL-Anweisungen, die zu einem Problem geführt haben. Mithilfe der gespeicherten Ablaufverfolgung kann das Problem auf einem Testserver repliziert werden, um es dort zu diagnostizieren.

  • Überwachen der Leistung von SQL Server zur Optimierung der Arbeitsauslastung. Informationen zum Optimieren des physischen Datenbankentwurfs für Datenbankarbeitslasten finden Sie unter Database Engine Tuning Advisor.

  • Korrelieren von Leistungsindikatoren zur Diagnose von Problemen.

SQL Server Profiler unterstützt auch die Überwachung von Aktionen, die für Instanzen von SQL Server ausgeführt werden. Durch Überwachungen werden sicherheitsbezogene Aktionen aufgezeichnet, die später von einem Sicherheitsadministrator überprüft werden können.

SQL Server Profiler-Konzepte

Um SQL Server Profilerverwenden zu können, müssen Sie die Begriffe verstehen, mit denen die Funktionsweise des Tools beschrieben wird.

Hinweis

Die SQL-Ablaufverfolgung zu verstehen, hilft ungemein bei der Arbeit mit dem SQL Server Profiler. Weitere Informationen finden Sie unter SQL Trace.

Ereignis

Ein Ereignis ist eine Aktion, die innerhalb einer Instanz von SQL Server-Datenbank-Enginegeneriert wird. Im Folgenden sind Beispiele dafür aufgeführt:

  • Anmeldeverbindungen, fehlgeschlagene und getrennte Verbindungen.
  • SELECT-, INSERT-, UPDATE- und DELETE-Anweisungen von Transact-SQL
  • Der Status von RPC-Batches (Remote Procedure Call, Remoteprozeduraufruf).
  • Der Start oder das Ende einer gespeicherten Prozedur.
  • Der Start oder das Ende von Anweisungen innerhalb gespeicherter Prozeduren.
  • Der Start oder das Ende eines SQL-Batches.
  • Ein Fehler, der in das SQL Server -Fehlerprotokoll geschrieben wird.
  • Eine Sperre, die für ein Datenbankobjekt eingerichtet oder aufgehoben wird.
  • Ein geöffneter Cursor.
  • Überprüfungen der Sicherheitsberechtigungen.

Die gesamten von einem Ereignis generierten Daten werden in der Ablaufverfolgung in einer einzelnen Zeile angezeigt. Diese Zeile wird von Datenspalten unterbrochen, die Details zu den Ereignissen enthält.

EventClass

Eine Ereignisklasse ist ein Ereignistyp, dessen Ablauf verfolgt werden kann. Die Ereignisklasse enthält alle Daten, die ein Ereignis melden kann. Im Folgenden werden Beispiele für Ereignisklassen aufgeführt:

  • SQL:BatchCompleted
  • Audit Login
  • Audit Logout
  • Lock: Acquired
  • Lock: Released

EventCategory

Eine Ereigniskategorie bestimmt, wie Ereignisse innerhalb von SQL Server Profilerzusammengefasst werden. So sind beispielsweise alle Sperrereignisklassen in der Ereigniskategorie Sperren zusammengefasst. Ereigniskategorien sind jedoch nur in SQL Server Profilervorhanden. Dieser Begriff drückt nicht aus, wie Engine-Ereignisse gruppiert werden.

DataColumn

Eine Datenspalte ist ein Attribut einer Ereignisklasse, die in der Ablaufverfolgung erfasst ist. Da von der Ereignisklasse der Typ der Daten festgelegt wird, die gesammelt werden können, gelten nicht alle Datenspalten für alle Ereignisklassen. In einer Ablaufverfolgung, in der die Ereignisklasse Lock: Acquired erfasst wird, enthält die Datenspalte BinaryData beispielsweise den Wert der gesperrten Seiten-ID oder der Zeile, aber die Datenspalte Integer Data enthält keine Werte, weil sie nicht auf die erfasste Ereignisklasse anwendbar ist.

Vorlage

Eine Vorlage definiert die Standardkonfiguration für eine Ablaufverfolgung. Dazu gehören insbesondere die Ereignisklassen, die mithilfe von SQL Server Profilerüberwacht werden sollen. Sie können zum Beispiel eine Vorlage erstellen, in der die Ereignisse, Datenspalten und Filter angegeben sind. Eine Vorlage wird nicht ausgeführt, sondern als Datei mit der Erweiterung „.tdf“ gespeichert. Nach dem Speichern steuert die Vorlage die Ablaufverfolgungsdaten, die beim Starten einer auf der Vorlage basierenden Ablaufverfolgung erfasst werden.

Trace

Eine Ablaufverfolgung zeichnet Daten auf der Grundlage der ausgewählten Ereignisklassen, Datenspalten und Filter auf. Sie können beispielsweise eine Ablaufverfolgung erstellen, um Ausnahmefehler aufzuzeichnen. Wählen Sie dazu die Exception -Ereignisklasse und die Datenspalten Fehler, Statusund Schweregrad aus. Daten aus diesen drei Spalten müssen gesammelt werden, damit die Ablaufverfolgung sinnvolle Daten als Ergebnis liefert. Sie können dann eine solcherart konfigurierte Ablaufverfolgung ausführen und Daten aufgrund aller Exception -Ereignisse sammeln, die auf dem Server auftreten. Ablaufverfolgungsdaten können gespeichert oder sofort für Analysezwecke verwendet werden. Ablaufverfolgungen können zu einem späteren Zeitpunkt wiedergegeben werden, obwohl bestimmte Ereignisse wie Exception -Ereignisse nie wiedergegeben werden. Sie können die Ablaufverfolgung als Vorlage speichern, um in Zukunft ähnliche Ablaufverfolgungen zu erstellen.

SQL Server bietet zwei Möglichkeiten für die Ablaufverfolgung einer Instanz von SQL Server: SQL Server Profiler und gespeicherte Systemprozeduren.

Filtern

Beim Erstellen einer Ablaufverfolgung oder Vorlage können Sie Kriterien definieren, um die von dem Ereignis gesammelten Daten zu filtern. Damit Ablaufverfolgungen nicht zu groß werden, können Sie sie filtern, sodass nur eine Teilmenge der Ereignisdaten gesammelt wird. Sie können beispielsweise die Microsoft Windows-Benutzernamen in der Ablaufverfolgung auf bestimmte Benutzer beschränken, wodurch die Ausgabedatenmenge kleiner wird.

Ist kein Filter eingerichtet, werden alle Ereignisse der ausgewählten Ereignisklassen in der Ablaufverfolgungsausgabe zurückgegeben.

SQL Server Profiler-Tasks

Taskbeschreibung Thema
Listet die vordefinierten Vorlagen, die SQL Server zum Überwachen bestimmter Ereignistypen bereitstellt, und die zum Wiedergeben von Ablaufverfolgungen erforderlichen Berechtigungen auf. Vorlagen und Berechtigungen in SQL Server Profiler
Beschreibt, wie der SQL Server Profiler ausgeführt wird Erforderliche Berechtigungen zum Ausführen von SQL Server Profiler
Beschreibt, wie eine Ablaufverfolgung erstellt wird. Erstellen einer Ablaufverfolgung (SQL Server Profiler)
Beschreibt, wie Ereignisse und Datenspalten für eine Ablaufverfolgungsdatei angegeben werden. Angeben von Ereignissen und Datenspalten für eine Ablaufverfolgungsdatei (SQL Server Profiler)
Beschreibt, wie Ablaufverfolgungsergebnisse in einer Datei gespeichert werden. Speichern von Ablaufverfolgungsergebnissen in einer Datei (SQL Server Profiler)
Beschreibt, wie Ablaufverfolgungsergebnisse in einer Tabelle gespeichert werden. Speichern von Ablaufverfolgungsergebnissen in einer Tabelle (SQL Server Profiler)
Beschreibt, wie Ereignisse in einer Ablaufverfolgung gefiltert werden. Filtern von Ereignissen in einer Ablaufverfolgung (SQL Server Profiler)
Beschreibt, wie Filterinformationen angezeigt werden. Anzeigen von Filterinformationen (SQL Server Profiler)
Beschreibt, wie ein Filter geändert wird. Ändern eines Filters (SQL Server Profiler)
Beschreibt, wie eine maximale Dateigröße für eine Ablaufverfolgungsdatei (SQL Server Profiler) festgelegt wird. Gruppe der maximalen Dateigröße für eine Ablaufverfolgungsdatei (SQL et al. )
Beschreibt, wie eine maximale Tabellengröße für eine Ablaufverfolgungstabelle festgelegt wird. Festlegen der maximalen Tabellengröße für eine Ablaufverfolgungstabelle (SQL Server Profiler)
Beschreibt, wie eine Ablaufverfolgung gestartet wird. Starten einer Ablaufverfolgung
Beschreibt, wie eine Ablaufverfolgung nach dem Herstellen einer Verbindung mit einem Server automatisch gestartet wird. Automatisches Starten einer Ablaufverfolgung nach dem Herstellen einer Verbindung mit einem Server (SQL Server Profiler)
Beschreibt, wie Ereignisse basierend auf der Ereignisstartzeit gefiltert werden. Filtern von Ereignissen nach Ereignisstartzeit (SQL Server Profiler)
Beschreibt, wie Ereignisse basierend auf der Ereignisendzeit gefiltert werden. Filtern von Ereignissen anhand der Ereignisendzeit (SQL Server Profiler)
Beschreibt, wie Serverprozess-IDs (SPIDs) in einer Ablaufverfolgung gefiltert werden. Filtern der Serverprozess-IDs (SPIDs) in einer Ablaufverfolgung (SQL et al. )
Beschreibt, wie eine Ablaufverfolgung angehalten wird. Anhalten einer Ablaufverfolgung (SQL Server Profiler)
Beschreibt, wie eine Ablaufverfolgung beendet wird. Beenden einer Ablaufverfolgung (SQL Server Profiler)
Beschreibt, wie eine Ablaufverfolgung ausgeführt wird, nachdem sie angehalten oder beendet wurde. Ausführen einer Ablaufverfolgung, nachdem sie angehalten oder beendet wurde (SQL Server Profiler)
Beschreibt, wie ein Ablaufverfolgungsfenster gelöscht wird. Löschen des Inhalts eines Ablaufverfolgungsfensters (SQL Server Profiler)
Beschreibt, wie ein Ablaufverfolgungsfenster geschlossen wird. Schließen eines Ablaufverfolgungsfensters (SQL Server Profiler)
Beschreibt, wie Standardeinstellungen für Ablaufverfolgungsdefinitionen festgelegt werden. Festlegen der Standardeinstellungen für Ablaufverfolgungsdefinitionen (SQL Server Profiler)
Beschreibt, wie Standardeinstellungen für die Ablaufverfolgungsanzeige festgelegt werden. Festlegen der Standardeinstellungen für die Ablaufverfolgungsanzeige (SQL Server Profiler)
Beschreibt, wie eine Ablaufverfolgungsdatei geöffnet wird. Öffnen einer Ablaufverfolgungsdatei (SQL Server Profiler)
Beschreibt, wie eine Ablaufverfolgungstabelle geöffnet wird. Öffnen einer Ablaufverfolgungstabelle (SQL Server Profiler)
Beschreibt, wie eine Ablaufverfolgungstabelle wiedergegeben wird. Wiedergeben einer Ablaufverfolgungstabelle (SQL Server Profiler)
Beschreibt, wie eine Ablaufverfolgungsdatei wiedergegeben wird. Wiedergeben einer Ablaufverfolgungsdatei (SQL Server Profiler)
Beschreibt, wie jeweils ein einzelnes Ereignis wiedergegeben wird. Wiedergeben von jeweils einem einzelnen Ereignis (SQL Server Profiler)
Beschreibt die Wiedergabe bis zu einem Breakpoint. Wiedergeben bis zu einem Breakpoint (SQL Server Profiler)
Beschreibt die Wiedergabe bis zu einer Cursorposition. Wiedergeben bis zu einer Cursorposition (SQL Server Profiler)
Beschreibt, wie ein Transact-SQL-Skript wiedergegeben wird. Wiedergeben eines Transact-SQL-Skripts (SQL Server Profiler)
Beschreibt, wie eine Ablaufverfolgungsvorlage erstellt wird. Erstellen einer Ablaufverfolgungsvorlage (SQL Server Profiler)
Beschreibt, wie eine Ablaufverfolgungsvorlage geändert wird. Ändern einer Ablaufverfolgungsvorlage (SQL Server Profiler)
Beschreibt, wie globale Ablaufverfolgungsoptionen festgelegt werden. Festlegen globaler Ablaufverfolgungsoptionen (SQL Server Profiler)
Beschreibt, wie ein Wert oder eine Datenspalte während der Ablaufverfolgung gesucht wird. Suchen eines Wertes oder einer Datenspalte während der Ablaufverfolgung (SQL Server Profiler)
Beschreibt, wie eine Vorlage aus einer ausgeführten Ablaufverfolgung abgeleitet wird. Ableiten einer Vorlage von einer zurzeit ausgeführten Ablaufverfolgung (SQL Server Profiler)
Beschreibt, wie eine Vorlage aus einer Ablaufverfolgungsdatei oder Ablaufverfolgungstabelle abgeleitet wird. Ableiten einer Vorlage von einer Ablaufverfolgungsdatei oder Ablaufverfolgungstabelle (SQL Server Profiler)
Beschreibt, wie ein Transact-SQL-Skript für das Ausführen einer Ablaufverfolgung erstellt wird. Erstellen eines Transact-SQL-Skripts zum Ausführen einer Ablaufverfolgung (SQL Server Profiler)
Beschreibt, wie eine Ablaufverfolgungsvorlage exportiert wird. Exportieren einer Ablaufverfolgungsvorlage (SQL Server Profiler)
Beschreibt, wie eine Ablaufverfolgungsvorlage importiert wird. Importieren einer Ablaufverfolgungsvorlage (SQL Server Profiler)
Beschreibt, wie ein Skript aus einer Ablaufverfolgung extrahiert wird. Extrahieren eines Skripts aus einer Ablaufverfolgung (SQL Server Profiler)
Beschreibt, wie eine Ablaufverfolgung mit Windows-Leistungsprotokolldaten korreliert wird. Korrelieren einer Ablaufverfolgung mit Windows-Leistungsprotokolldaten (SQL Server Profiler)
Beschreibt, wie in einer Ablaufverfolgung angezeigte Spalten organisiert werden. Organisieren von in einer Ablaufverfolgung angezeigten Spalten (SQL Server Profiler)
Beschreibt, wie der SQL Server Profiler gestartet wird Starten des SQL Server Profilers
Beschreibt, wie Ablaufverfolgungen und Ablaufverfolgungsvorlagen gespeichert werden. Speichern von Ablaufverfolgungen und Ablaufverfolgungsvorlagen
Beschreibt, wie Ablaufverfolgungsvorlagen geändert werden. Ändern von Ablaufverfolgungsvorlagen
Beschreibt, wie eine Ablaufverfolgung mit Windows-Leistungsprotokolldaten korreliert wird. Korrelieren einer Ablaufverfolgung mit Windows-Leistungsprotokolldaten
Beschreibt, wie Ablaufverfolgungen mit dem SQL Server Profiler angezeigt und analysiert werden Anzeigen und Analysieren von Ablaufverfolgungen mit SQL Server Profiler
Beschreibt, wie Deadlocks mit dem SQL Server Profiler analysiert werden Analysieren von Deadlocks mit SQL Server Profiler
Beschreibt, wie Abfragen mit SHOWPLAN-Ergebnissen in SQL Server Profiler analysiert werden. Analysieren von Abfragen mit SHOWPLAN-Ergebnissen in SQL Server Profiler
Beschreibt, wie Ablaufverfolgungen mit dem SQL Server Profiler gefiltert werden Filtern von Ablaufverfolgungen mit SQL Server Profiler
Beschreibt die Verwendung der Wiedergabefunktionen von SQL Server Profiler. Wiedergeben von Ablaufverfolgungen
Enthält kontextbezogene Hilfethemen zum SQL Server Profiler SQL Server Profiler (F1-Hilfe)
Listet die von SQL Server Profiler zur Leistungs- und Aktivitätsüberwachung verwendeten gespeicherten Systemprozeduren auf. Gespeicherte Prozeduren von SQL Server Profiler (Transact-SQL)