Re: SQL Profiler
- From: "Christoph Muthmann" <c.muthmann@xxxxxxxxxxxxxxxxxxx>
- Date: Fri, 22 Apr 2005 10:43:09 +0200
Ina Schmitz wrote:
> Hallo zusammen,
>
> ich verwende SQL Server 2000.
>
> Mit SQL Profiler möchte ich bestimmte Werte (eigentlich genau die,
> die mir mit SET STATISTICS ON; geliefert werden) aufzeichnen. Leider
> bekomme ich für die Werte noch vielfach leere Spalten:
>
> Ich habe im SQL Profiler unter "Leistung" Execution Plan, Show Plan
> All, Show Plan Statistics und Show Plan Text ausgewählt.
> Als Spalten habe ich EventClass, TextData, CPU, Reads, Writes und
> Duration angegeben.
>
> Nun bekomme ich für eine einfache SQL-Anfrage in der Zeile Execution
> Plan für TextData den "Execution Tree" angezeigt, erst bei
> "SQL:BatchCompleted" erhalte ich in den Spalten CPU, Reads, Writes
> und Duration Werte.
>
> 1. Stimmt meine Interpretation der Werte?
> CPU = Zeit, die die CPU zur Ausführung der Anfrage benötigt?
> Duration = CPU + x, wobei x dann E/A ist?
> Writes = logische Schreibvorgänge
> Reads = logische Lesevorgänge
>
> 2. Ich habe aber vor allem Interesse an genau folgenden Werten:
> Scanzahl
> logische Lesevorgänge
> physische Lesevorgänge
> Read-Ahead-Lesevorgänge
> Also genau die Werte, die mir SET STATISTICS IO ON; liefert.
> Außerdem interessieren mich folgende mit SET SHOWPLAN_ALL ON;
> generierte geschätzten Werte:
> Physische Operation
> Logische Operation
> Zeilenanzahl
> E/A-Kosten
> CPU-Kosten
> #Ausführungen
> (Gesamte) Teilbaumkosten (geschätzt)
> Gibt es eine Möglichkeit genau diese bei Ausführung mit SET
> SHOWPLAN_ALL ON; im Query Analyzer gezeigte Tabelle in SQL Profiler
> reinzubekommen?
>
> Wäre super, wenn Ihr mir da einen guten Tipp geben könntet!
> Vielen Dank!
Hallo Ina,
ich fürchte, Du bist auf dem falschen Weg. Welche Werte der Profiler
zurückliefert findest Du als Auflistung in der Online-Doku unter
sp_trace_setevent.
Zuerst zu Duration, dies ist meinem Verständniss nach die Gesamtdauer
des Ereignisses also inkl. der CPU, I/O und Wartezeiten.
Dort findest Du auch zu CPU:
Die CPU-Zeit (in Millisekunden), die vom Ereignis verwendet wurde.
und Writes:
Die Anzahl physischer Schreibvorgänge auf dem Datenträger, die vom
Server aufgrund des Ereignisses durchgeführt werden.
und Reads:
Die Anzahl der logischen Lesevorgänge auf dem Datenträger, die vom
Server aufgrund dieses Ereignisses durchgeführt werden.
Vielleicht wäre es eine Alternative nur die Statements mit einer
Duration oder CPU > X näher zu betrachten?
Details zu einem serverbasierten Trace findest Du auch hier:
http://www.insidesql.de/content/view/388/2/
Aber ich fürchte, dass sich die Ergebnisse von SET SHOWPLAN_ALL ON
nicht so einfach cachen lassen. Du könntest höchstens das Ergebnis dann
wieder durch ein intelligentes Programm laufen lassen, welches Dir die
Daten entsprechend aufbereitet.
Oder vielleicht lässt Du Dir die Ergebnisse für alle Statements im
Raster anzeigen und kopierst sie über Cut&Paste in eine andere
Anwendung?
Einen schönen Tag noch,
Christoph
--
(Please post ALL replies to the newsgroup only unless indicated
otherwise)
.
- References:
- SQL Profiler
- From: Ina Schmitz
- SQL Profiler
- Prev by Date: Re: Probleme mit dem Einzelbenutzermodus
- Next by Date: Re: Indexe zweier Datenbanken vergleichen
- Previous by thread: SQL Profiler
- Next by thread: Idee Bit Verknüpfung
- Index(es):
Relevant Pages
|