26.09.2012;Psc
Problem
Im Zusammenhang mit Performance-Analysen ist es oft von Interesse, herauszufinden welche Datenbankabfragen lange dauern.
Das oft verwendete Tracen mit dem SQL Server Profiler beeinträchtigt die Performance während der Aufzeichnung.
In diesem Artikel wird beschrieben wie eine alternative Analysemöglichkeit eingerichtet werden kann.
Lösung
Verfügbar ab Version 8.5.0 von CodX PostOffice (Poolversion > 2.2.4).
Im Datenbank Server (CxDBServer) besteht die Möglichkeit zu hinterlegen, ab welcher Ausführungsdauer von Queries ein CxDataLogger - Eintrag erstellt werden soll. Dazu dient der folgende Registry Eintrag:
- Key = HKCU\Software\CodX\CxDBServer
- DWORD = Command4LogDuration [ms, 0=Disabled]
- Wert: 0 = Trace ausgeschaltet
- Wert: x = Zeit in Millisekunden, ab wann ein Query in den Datalogger geschrieben werden soll
- DWORD = Command4LogFilter
- Ein Text, der hier vorgegeben wird, muss im SQL Query vorhanden sein, damit dieses ins Log geschrieben wird (natürlich nur wenn die erste Bedingung auch erfüllt ist).
Anschliessend kann im CxDataLogger Viewer ein Filter auf das Profile CxDBServerLib gesetzt werden.
Es werden nun alle SQL Queries aufgeführt, welche länger dauerten als mit DebugTrace konfiguriert worden ist.