Check out XEvent in SQL 2008 July CTP

SQL Server 2008 July CTP is out! - https://connect.microsoft.com/sqlserver/content/content.aspx?contentid=5395

One of the performance gems in the July CTP is the addition of SQL Extended Events (aka SQL XEvent). This new eventing infrastructure enables developers to get a very detailed trace of what is happening inside the SQL product. Out of the box there is support for sending events to Windows ETW for integration with system level trace events, targets that allow events to be paired and counted, targets to histogram events, control over how often events get processed (show me this event every 10th time it fires), and much more.

Some of the design goals for SQL XEvent;

  • Create an End-to-end trace across all SQL Products and Windows - This is not complete however 2008 has a good down payment in this area.
  • Asynchronous - This allow us to put events in very timing sensitive code. There an now detailed lock events to help determine hard to diagnose performance issues.
  • Scalable - Events should have minimal impact on running code.
  • ETW "enabled" - Full ETW support including MOF files for decoding events
  • Full Meta data - This means you can find out check events, targets, actions, ... are put of SQL 2008 by querying sys.dm_xe_... views.

With SQL XEvent comes some new terminology -

  • Sessions - Events are configured to a sessions. A cool feature of sessions is they can be configured to start of automatically when SQL server starts.
  • Targets - These are where events go to be processed. Today there is and ETW target, pairing target, histograms, ...
  • Predicates - This is logic used to determine if an event should be processed.
  • Actions - Actions allow data to be added to events. For example add the current SQL text to the event.
  • Events - Events define the payload to send to a target. There are over 100+ events in this CTP.

The documentation that comes with the July CTP is definitely worth a read and has lots of examples.

Personally I am very proud to have been able to help invent, architect, design, implement, test the code along with leading the teams that got SQL XEvent into SQL 2008 July CTP.

[[This post talks about features in SQL Server 2008 July CTP and makes no guarantees or promises on features in future previews or the final product. All things are subject the change until it officially ships.]]