Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So erstellen Sie eine SQL-Ablaufverfolgung, um SQL Server-Ereignisse zu erfassen

Wenn Sie mit einem SQL Server-Leistungsproblem konfrontiert sind, müssen Sie die Ursache dieses Leistungsproblems schnell identifizieren. Daher ist ein Tool zum Verfolgen der aktuellen Arbeitslast und zum Erkennen von Engpässen ohne zusätzliche Last erforderlich.

SQL Server stellt verschiedene Tools zum Erfassen der SQL Server-Ereignisse bereit. Zum Beispiel:

  • Der SQL-Trace Tool, das in SQL Server 2000 eingeführt wurde. Damit können Sie Klassen von Ereignissen definieren, die Sie mit vielen gespeicherten T-SQL-Prozeduren erfassen möchten. Sie können bestimmte Ereignisse mit dem SQL Profiler erfassen oder aus dem Code aufrufen. Letzteres erforderte jedoch spezifische Entwicklungsfähigkeiten und -anstrengungen.
  • Der SQL Server Profiler Werkzeug. Sie können es verwenden, um leistungsbezogene Ereignisse zu sammeln, teure Abfragen zu erkennen und die Leistung zu verbessern. Es ermöglicht das Sammeln von Variantennummern von SQL Server-Ereignissen und das Filtern dieser nach Ihren Szenariovariablen.
  • Die erweiterten Ereignisse von SQL Server -Tool, ein leichtes Ereignisverfolgungstool, wurde in SQL Server 2008 eingeführt und in SQL Server 2012 verbessert. Es ermöglicht Ihnen das Erstellen und Konfigurieren einer erweiterten Ereignissitzung, die aus vielen vordefinierten Ereignissen besteht. Das Tool zielt auf leistungsbezogene Ereignisse und Probleme ab und ersetzt damit veraltete SQL Trace- und SQL Profiler-Tools.

Die integrierten Profilerstellungstools haben unterschiedliche Auswirkungen auf Ihre Produktionsumgebung, wenn Sie sie zum Sammeln von SQL Server-Ereignissen konfigurieren. Außerdem erfordert das Einrichten und Konfigurieren dieser Tools häufig Entwicklungskenntnisse. Das Einrichten des SQL-Trace-Szenarios ist beispielsweise eine solche Aufgabe.

Alle diese Tools erfordern mindestens die Installation der SQL Server-Verwaltungstools. Das Problem ist, dass es für einige Umgebungen aus Sicherheitsgründen möglicherweise keine Option ist. Solche Tools sind anwendbar, um eine Verbindung zur SQL Server-Instanz herzustellen und die Daten abzurufen.

Glücklicherweise bietet der Markt für SQL Server-Verwaltungstools zahlreiche Optionen für SQL-Profilerstellungstools. Eines der nützlichsten und KOSTENLOSEN SQL-Tracing-Tools ist der kostenlose dbForge Event Profiler for SQL Server Werkzeug.

Verwenden des dbForge Event Profiler for SQL Server-Tools zum Verfolgen von Ereignissen

Mit dieser KOSTENLOSEN Lösung können Sie den Ressourcenverbrauch von SQL Server und teure abfragebezogene Ereignisse erfassen und analysieren. Sie können diese Daten zur späteren Fehlerbehebung und Analyse in einer physischen Trace-Datei speichern. Außerdem können Sie alle Sitzungen anzeigen, die auf Ihrem SQL Server ausgeführt werden, sowie die Abfragen, die in diesen Sitzungen ausgeführt werden. Im Allgemeinen gilt der Ereignis-Profiler für mehr als 1500 nachvollziehbare Ereignisse.

Der dbForge Event Profiler hilft bei der Definition der Anwendung, des Knotens oder des Benutzers mit der stärksten laufenden Aktivität. Es identifiziert die T-SQL-Anweisung oder gespeicherte Prozedur mit der schlechtesten Leistung und Auswirkung auf den SQL Server und verfolgt den Ressourcenverbrauch von SQL Server. Erwähnenswert ist auch die Möglichkeit, Ereignisse im Zusammenhang mit den SQL Server Analysis and Integration Services zu sammeln.

Im Vergleich zu anderen in SQL Server integrierten Profilerstellungstools garantiert der dbForge Event Profiler die höchste Tracer-Leistung bei geringster Serverüberlastung. Sie können die Anwendung kostenlos von der Devart-Downloadseite herunterladen und auf Ihrem Computer installieren:

Wenn die Installation erfolgreich abgeschlossen ist, benachrichtigt Sie der Assistent darüber und ermöglicht Ihnen, das Ereignis-Profiler-Tool sofort zu starten:

Konfigurieren des Tools dbForge Event Profiler for SQL Server

Das Tool hat eine benutzerfreundliche, einfache Oberfläche und robuste Funktionalität:

Um das Ereigniserfassungsprojekt zu starten, klicken Sie auf Neu Möglichkeit. Es startet den Assistenten für Profilserver-Ereignisse.

Wählen Sie eine vorhandene Verbindung aus den zuvor verwendeten Verbindungen aus oder geben Sie den Namen einer SQL Server-Instanz, die Authentifizierungsmethode und die Anmeldeinformationen ein, um die Verbindung herzustellen:

Sobald Sie mit der SQL Server-Instanz verbunden sind, wählen Sie eine Ereignisvorlage aus der Bibliothek aus. Jede Vorlage besteht aus mehreren Ereignissen, die einem bestimmten Problembehandlungs- oder Leistungsoptimierungsziel dienen. Sie sehen die Liste der zu erfassenden Ereignisse unter Zu erfassende Ereignisse Seite. Fügen Sie diese Ereignisse gemäß den Ablaufverfolgungsanforderungen hinzu oder entfernen Sie sie.

Vom selben General Seite können Sie das Datum und die Uhrzeit angeben, zu der die Ereignisablaufverfolgung beendet werden soll. Es eignet sich für das Szenario, in dem Sie das Tool ausführen und es automatisch stoppen lassen.

Sie können auch den Standardpfad zum Speichern der generierten physischen Trace-Datei, die maximale Trace-Dateigröße und die maximale Anzahl von Dateien ändern. Dann können Sie die generierten Dateien wie unten gezeigt übertragen:

Falls Sie nicht mit Vorlagen arbeiten, stellen Sie die Liste der erfassten Ereignisse manuell zusammen. Über 1500 Ereignisse sind im dbForge Events Profiler verfügbar. Deaktivieren Sie die Vorlagenoption und fahren Sie mit der nächsten Seite fort, um die Ereignisse auszuwählen, die Sie erfassen möchten.

Alle diese Ereignisse sind in Kategorien gruppiert:

Wenn Sie bereits wissen, welchen Ereignisnamen Sie erfassen möchten, können Sie ihn mit der Option „Suchen“ schneller finden. Geben Sie den Veranstaltungsnamen in die Suchleiste ein:

Nachdem Sie alle Ereignisse markiert haben, die in der Ablaufverfolgungssitzung erfasst werden sollen, klicken Sie auf Weiter um fortzufahren:

Unter Aktionen Seite, wählen Sie die Liste der Felder aus, die in den Ereignissitzungen erfasst werden sollen:

Das dbForge Events Profiler-Tool bietet einen flexiblen „Ereignisse“-Filter für jedes erfasste Ereignis. Verwenden Sie verschiedene Operatoren, Komparatoren und Muster, um die Filterbedingung zu steuern:

Wählen Sie abschließend die Liste der Spalten aus, die in der Ereignissitzung erfasst werden sollen.

Wenn Sie mit der Anpassung der Ereignissitzung fertig sind, klicken Sie auf Ausführen um mit der Erfassung bestimmter Ereignisse zu beginnen:

Das dbForge Event Profiler-Tool beginnt sofort mit der Erfassung der Ereignisse, die den konfigurierten Filtern entsprechen.

Es generiert eine detaillierte Ereignisverfolgungssitzung mit nützlichen Informationen zu jedem erfassten Ereignis und seinen Statistiken. Die Abfragetexte befinden sich in separaten Rastern, mit der Möglichkeit, eine T-SQL-Abfrage, die unter dem erfassten Ereignis ausgeführt wird, in ein separates Fenster zu extrahieren:

Wenn alle Zielereignisse erfasst werden, können Sie die Ablaufverfolgung beenden und die von jeder erfassten Spalte zurückgegebenen Werte filtern:

Mit der Möglichkeit, die Werte in jeder Spalte aufsteigend oder absteigend zu sortieren, können Sie die erfassten Ereignisstatistiken wie unten gezeigt analysieren:

Denken Sie daran, dass die erfasste Ereignisverfolgung bereits in einer physischen Verfolgungsdatei gespeichert ist. So können Sie später Fehlersuche und Analyse durchführen.

Schlussfolgerung

Das dbForge Event Profiler-Tool macht den Ereigniserfassungsprozess viel einfacher zu handhaben. Die Konfiguration ist intuitiv und unkompliziert, und mit den Automatisierungsoptionen können Sie die Sitzungen ausführen und stoppen, wenn Sie sie benötigen. Sie erhalten detaillierte Statistiken für die Aufgaben zur Leistungsoptimierung und Fehlerbehebung.

Siehe auch

Sehen Sie sich dieses Video an, um zu erfahren, wie Sie mithilfe einer Ablaufverfolgungsdatei SQL Server-Deadlocks finden und beheben können.