SQL Server: Replacing Profiler with Extended Events

Use your knowledge of Profiler and Trace to help learn how to effectively use their replacement: Extended Events. If you use Trace or Profiler in SQL Server, in any capacity, this course is relevant to you.
Course info
Rating
(64)
Level
Intermediate
Updated
Jun 30, 2016
Duration
2h 28m
Table of contents
Course Overview
Introduction
Transitioning from Profiler’s UI to Extended Events
Leveraging the Extended Events UI
Understanding Target Options for Extended Events
Avoiding Performance Issues with Extended Events
Description
Course info
Rating
(64)
Level
Intermediate
Updated
Jun 30, 2016
Duration
2h 28m
Description

There have been three new releases of SQL Server since the introduction of Extended Events (XE) in SQL Server 2008, and DBAs and Developers alike still prefer Profiler. It's time to move on. If you've tried Extended Events and struggled, or if you've been thinking about it but just aren't sure where to begin, then this course is for you. Using your existing knowledge and experience, this course will bridge the gap between Profiler and XE through a series of demos, including how to create an Extended Events session using an existing Trace, how to create one in the UI from scratch, how to analyze the data, and what to watch out for in terms of performance. If you use Trace or Profiler in SQL Server, in any capacity, regardless of what you do as part of your day-to-day job, this course is relevant to you.

About the author
About the author

Erin Stellato is a Principal Consultant with SQLskills and a SQL Server MVP. She has worked as a SQL Server professional since 2003 and her interests include Internals, Performance Tuning, High Availability and Disaster Recovery. Erin is an active member of the SQL Server community as a presenter and blogger.

More from the author
More courses by Erin Stellato
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hello. My name is Erin Stellato, and welcome to my course, SQL Server: Replacing Profiler with Extended Events. I'm a SQL Server consultant with SQLskills, as well as a Microsoft data platform MVP, and I have been talking and writing about Extended Events since 2012 when I finally truly understood how to leverage Extended Events and I wanted everyone else to see the light. Extended Events was introduced in SQL Server 2008, but as of the SQL Server 2016 release, 8 years later, I find that many SQL Server professionals still prefer using Profiler and Trace when they are troubleshooting a drop in performance or they want to track down poor performing queries. But here's the thing, Extended Events was written to replace Profiler and Trace, and while change is hard, the benefits that come with this new event handling system far exceed any stumbles you might encounter in the road while learning it. In this course, we will use the knowledge that you already have about Profiler and Trace to understand the different components of Extended Events and how they all work together. We will walk through how to create an Extended Event session using an existing Trace, how to create one in the UI from scratch, how to analyze the data, and what to watch out for in terms of performance. If you use Trace or Profiler in SQL Server in any capacity, regardless of what you do as part of your day-to-day job, this course is relevant to you. Experience with Profiler and Trace is expected, along with an understanding of typical troubleshooting scenarios in SQL Server. I hope you'll join me as we explore the world of Extended Events with this course, SQL Server: Replacing Profiler with Extended Events, here on Pluralsight.

Introduction
Hi. This is Erin Stellato from sqlskills. com, and I'm recording this course for Pluralsight. This course is about replacing Profiler with Extended Events in SQL Server, and this is module 1, the Introduction. In this first module, I want to provide a quick, high level review of Trace just to make sure that we all have the same background, and then I'll introduce Extended Events and talk through some basic information to ensure we all have a good foundation to start. We'll wrap up with a list of topics that we'll cover to set proper expectations about what you'll learn in this course, so let's get started.

Understanding Target Options for Extended Events
Hi. This is Erin Stellato from sqlskills. com, and I'm recording this course for Pluralsight. This course is about replacing Profiler with Extended Events in SQL Server, and this is Module 4, Understanding Target Options for Extended Events. In this module, I want to step through the different targets that exist for data capture in Extended Events, and we'll also review what information is captured by each target, but as usual we'll start with a few definitions. Targets in Extended Events are event consumers, and events are set to the target either individually or as part of a buffer full of events. Think of targets as the destination for the event session data, and note that while we've mostly discussed the event file target, which stores data permanently, the other targets that we'll discuss only store data temporarily, which means that the information is only available while the event session is running. We can categorize targets a couple different ways, and we'll start with the type of data that they store. A target can be a basic target, or it can be an aggregate target. A basic target collects the raw event data, while the aggregate target, as the name implies, aggregates data based on criteria that you define in the event session. The event file and ring buffer are basic targets, while the event counter, histogram, and pair matching targets aggregate data. The other way to categorize targets is by the timing, when the event reaches the target. If a target is synchronous, such as the event counter, the event is served up immediately by the thread that fires the event, and it goes right to the target. If a target is asynchronous, then events are dispatched to the target by the Extended Events engine dispatcher after a delay. The event file, ring buffer, histogram, and pair matching targets are all asynchronous.