In diesem Artikel beschreiben wir, wie man erweiterte SQL Server-Ereignisse Daten für die Performanceanalyse von Business Central automatisiert und zeitgesteuert in die V8 SQL Datenbank importieren kann.
Einführung
Die Überwachung der Abfrageleistung ist eine der wichtigsten Diagnosemethoden, um Abfragen mit schlechter Leistung aufzudecken. Manchmal kann dies jedoch etwas mühsam sein. Daher sollte man geeignete Tools wie V8 Search XE und Methoden wie SQL Server Extended Events verwenden, um die Abfrageleistungsmetriken zu überwachen und zu analysieren.
Die meisten unserer Kunden importieren täglich die Daten aus dem V8 Search XE Client manuell. Aus diesem Grund haben wir uns entschlossen, ein Template zur Verfügung zu stellen und zeigen Ihnen in diesem Artikel, wie man dieses Template im SQL Server Agent einbinden kann.
Sollten Sie sich mit SQL Extended Events noch nicht beschäftigt haben, beraten wir Sie gerne.
Das PowerShell-Skript (V8XELoaderTemplate.ps1) im SQL Server-Agent einrichten
Beachten Sie, dass SQL Server Express und Azure SQL DB keinen SQL Server Agent enthalten.
Schritt 1
Das V8XELoader Modul ist eine parametrisierte App und wird normalerweise aus dem V8 Search XE Client gestartet. Je nachdem welche Aufgabe mit dem V8XELoader erfüllen möchten z. B. den Import von SQL Extended Events Dateien (XEvents) wie die „Long Duration (LD)“ werden die zu übergeben denn Parameter in den Optionen des V8 Clients eingerichtet.
In dem PowerShell-Skript „V8XELoaderTemplate“ müssen diese Parameter manuell eingegeben werden. Und für die jeweilige Aktion in einem neuen PowerShell Script abgespeichert werden. Da für jeden Schritt im SQL Server Agent ein eigenes Skript für die Aktion benötigt wird.
Schritt 2
Navigieren Sie in SQL Server Management Studio (SSMS) zum Abschnitt „Objekt-Explorer“, gehen Sie zum Abschnitt „SQL Server-Agent“, erweitern Sie ihn und klicken Sie auf die Option „Neuer Auftrag…“.
Schritt 3
Geben Sie auf dem allerersten Bildschirm, der angezeigt wird, die grundlegenden Informationen wie folgt ein:
Schritt 4
Klicken Sie oben links bei „Seite auswählen“ auf „Schritte“ und dann auf die Schaltfläche „Neu“.
Schritt 5
Geben Sie auf dem angezeigten Bildschirm die Informationen wie im untenstehenden Screenshot gezeigt ein und stellen Sie sicher, dass Typ = „PowerShell“ ist.
Um die PS1-Datei aufzurufen, lautet der PowerShell-Befehl wie folgt:
PowerShell.exe -File „C:\…\V8XELoaderTemplate.ps1“
Schritt 6
Erstellen Sie im Abschnitt „Zeitpläne“ den gewünschten Zeitplan für das PowerShell Skript.
Schritt 7
In dieser Demo werden wir nicht auf die Bereiche „Warnungen“, „Benachrichtigungen“ und „Ziele“ eingehen.
Klicken Sie anschließend auf „OK“, um Ihren Job zu erstellen. Er sollte nun im Abschnitt „SQL Server Agent-Jobs“ angezeigt werden.
Um den Job auszuführen, klicken Sie mit der rechten Maustaste darauf und wählen Sie „Job bei Schritt starten“. Der Job sollte dann mit der Ausführung beginnen oder auf die geplante Ausführungszeit warten.
Wie kann man den Status eines Auftrages prüfen, ob er erfolgreich ausgeführt wurde? Um dies zu beantworten, müssen sie mit der rechten Maustaste auf ihren Auftrag klicken und die Option „Verlauf anzeigen“ auswählen.
In dieser Ansicht zeigt ein grünes Häkchen an, dass alles gut gelaufen ist (wenn der Job nicht erfolgreich war, ist das Symbol ein roter Kreis mit einem Kreuz). Diese Ansicht enthält auch andere nützliche Informationen wie die Jobdauer.
Um Informationen zu dem Job zu erhalten, hat man in V8 Search XE mehrere Möglichkeiten.
Normalerweise sollte sich die Anzahl der importierten XEvents Daten und beim Öffnen des V8 Search XE Clients im Dashboard aktualisiert haben.
Eine weitere Möglichkeit ist aus dem SQL Server Management Studio (SSMS) eine „SELECT-Abfrage“, die Tabelle „V8 NLog“ auszuführen. Hier können Sie kontrollieren, ob der Import erfolgreich durchgeführt wurde.
Kleiner Tipp: Man sollte beizeiten die „V8 NLog“ Tabelle leeren, damit die Datenbank nicht unnötig groß anwächst.
Alternativ können Sie auch in V8 Search XE den TSQL Editor benutzen, um die Tabelle „V8 NLog“ zu kontrollieren.
Wenn Sie im V8 Search XE Client zum Beispiel den Dialog „Long Duration XEvents“ öffnen, können Sie anhand des Filterdialogs das kleinste und das größte Datum der vorhandenen importierten SQL Extended Events Daten sehen.
Falls sie das V8XELoader PowerShell Script Template benutzen möchten, schreiben Sie bitte eine kurze Mail an info@dynamicsproject.com . Sollten Sie Unterstützung bei der Einrichtung benötigen, helfen wir ihnen natürlich gerne.
Ihr dynamicsproject.com Team