(de) Zur Erinnerung: Extended Events sind seit SQL Server 2008 in SQL Server integriert. Und seit SQL Server 2012 SP1 sind alle Events verfügbar, die es in SQL Trace gibt. Zudem sind Extended Events seit SQL Server 2012 auch für Analysis Services verfügbar (Tracing Analysis Services (SSAS) with Extended Events – Yes it works and this is how).
Für alle, die noch mit dem alten Werkzeug SQL Server Profiler (Profiler ist das Frontend für SQL Trace, gestartet mit sp_trace_create) arbeiten, und sich noch nicht für die neue Technologie entscheiden konnten, hier eine kleine Entscheidungshilfe.
Was Extended Events (XEvents) besser als SQLTrace machen:
|
(en) As a reminder: Extended Events have been integrated in SQL Server since SQL Server 2008. And since SQL Server 2012 SP1, all events existing in SQL Trace have been available. In addition, Extended Events have also been available for Analysis Services since SQL Server 2012 Tracing Analysis Services (SSAS) with Extended Events – Yes it works and this is how).
For those of you who are still working with the old tool SQL Server Profiler (Profiler is the frontend for SQL Trace, started with sp_trace_create) and have not quite been able to decide for the new technology, here is some decision guidance.
What Extended Events (XEvents) do better than SQL Trace:
|
- Einzige Möglichkeit neue Features wie FileStream, FileTable, AlwaysOn, ColumnStore, Hekaton/XTP etc. zu Tracen
- Viel mehr Events tracebar, auch bereits für ältere Releases (siehe *1, *2 unten)
- Deutlich geringerer Beobachter-Overhead
siehe auch: Performance overhead of tracing with Extended Event targets vs SQL Trace under CPU Load
- Performance/Last lässt sich konfigurieren & tunen
- Events und Filter lassen sich live anpassen – während aktiver Session also
- Ofiziell 2 µs/Event gg. 4ms/Event in SQLTrace
- Event-Verlust konfigurierbar
- Effiziente Filterung durch Architektur
- Komplexe Prädikate wie z.B. Zähler oder last_error, less_than_min_datatype oder greater_than_max_datatype
- Korrelation von Events möglich
- Möglichkeit Events vom Client bis in die Datenbank zu verfolgen
- Einfache Automatisierung
- Direkt in Management Studio integriert
- Viele Analysen direkt in der GUI möglich (Um diese noch zu verbessern, bitte hier bei Microsoft Connect voten: Extended Events UI Export Display Settings: include grouping)
- Query_hash zum Identifizieren von identischen Abfragen verfügbar
- Keine 10 Klicks zum Aufsetzen einer simplen Session inkl. Filter
- Unterschiedliche Speicher-Ziele für EventDaten zur Auswahl (6)
- „Ergebnisorientierte“ Ziele wie Counter und Histogramm
- Multiple Ziele lassen sich für “On the fly - Top-Down Analysen” kombinieren
- Möglichkeiten für ganz neue Einblicke in Interna der Datenbank-Engine (Latching, Spinlocks, Multi-victim-Deadlock, Wait_Infos per session/query, Caching-Vorgänge, Ghost-cleanup, Analyse von Page Splits, Page-Compression Vorgänge, um nur einige zu nennen)
- Stack Tracen eines einzelnen Prozesses möglich – anstelle eines vollständigen Server Dumps
- Definition mit Standard DDL-Statements
- API zur Integration in eigene Tools verfügbar
- PowerShell-Unterstützung
- Last but not least: Endlich ein Grund, XML & XQuery zu lernen? ;-)
|
- The only possibility of Tracing new features like FileStream, FileTable, AlwaysOn, ColumnStore, Hekaton/XTP etc.
- Many more Events traceable, even for older releases (see *1, *2 below)
- Significantly less Observer-Overhead, also see: Performance overhead of tracing with Extended Event targets vs SQL Trace under CPU Load
- Performance/Overhead can be configured and tuned
- Events and Filters can be adapted live – meaning during active session
- Official 2 µs/Event vs. 4ms/Event in SQLTrace
- Event-loss is configurable
- Efficient filtering through architecture
- Complex predicates such as Counter or last_error, less_than_min_datatype oder greater_than_max_datatype
- Correlation of Events possible
- Possibility of following Events from Client into the Database
- Easy Automation
- Directly integrated in Management Studio
- Many analysis directly inside the GUI possible (in order to improve them, please vote at Microsoft Connect: Extended Events UI Export Display Settings: include grouping)
- Query_hash for identification of identical queries available
- No 10 clicks to set up a simple session including filter
- Choice of different destinations for storing EventData (6)
- “Goal-oriented” destinations such as Counter and Histogram
- Multiple destinations can be combined for “On the fly – top-down analyses”
- Possibilities for entirely new insights into internal matters of database engine (Latching, Spinlocks, Multi-victim-Deadlock, Wait_Infos per session/query, Caching-processes, Ghost-cleanup, analysis of Page Splits, Page-Compression processes, to name just a few)
- Stack Tracing of a single process possible – instead of a complete Server Dump
- Definition with standard DDL-Statements
- API for integration into one’s own tools available
- PowerShell support
- Last but not least: Finally a good reason to learn XML & XQuery? ;-)
|