Recent Review from Similar Course
"This was my first dba course. The course flowed well and the instructor seemed confident in his knowledge. Instructor stayed on topic and didn't get sidetracked by going down 'rabbit trails' of additional content, which can sometimes happen. I would definitely take another class with the same instructor." Phil Carpenter
Microsoft SQL Server Profiler is a graphical user interface to SQL Trace for monitoring T-SQL Statements of Database Engine
SQL Server Profiler is a powerful tool that allows you to capture and analyze events.
This information can be used to identify and troubleshoot many SQL Server-related problems.
One of the things that separate less knowledgeable DBAs from exceptional ones is that exceptional DBAs know how to take full advantage of the tools available to them.
Even though Profiler can be used to monitor analysis services and integration services its core use is for tracking down real world issue that happen within SQL Server’s database engine.
In this course, we are going to cover the architecture of SQL Server Profiler and then use it to track down performance related issues.
In the course, we are also going to cover the nomenclature in detail. What’s an event and for that matter what’s an event class? How do I use them?
The interface isn’t that intuitive and in this course we will walk through all the tabs and their meaning as well as learn how to use them to capture only what we want to see, not the thousands of lines we don’t need.
With profiler, we can: create traces, watch the trace capture the spids in real time, store it, replay and even save the output to a server to others can view the results in table format.
There are several reasons profiler isn’t used more often in the real world. Firstly, the interface isn’t well designed, secondly it creates a ton of data when it’s not filtered and lastly it can consume a lot of resources on the server.
If the profiler is configured appropriately to trace only relevant data for analysis, it will diminish the additional load that is introduced while it is running.
If profiler is run for a longer duration, then to capture the event of longer duration it is very important to collect selective data, otherwise the collected data can outgrow the space on the server.
In this course, we are going to learn how to ameliorate all the “issues” with the tool and learn how to use it effectively in the real world.
Thanks for your interest in Real World SQL Server Profiler.
What is this course about?
What are we going to learn about SQL Server Profiler?
Let's find out in this lecture.
In this lecture let's discuss the architecture of profiler from a very high level.
Some of profiler's vernacular is confusing.
Let's sort it our in this lesson.
As a general rule you only want members of the sysadmin group to run traces on prod boxes.
However, you can grant certain users the right to run them.
There's not a lot to it but it has some very helpful buttons that can help us get profiler doing what we want it to.
In this lecture let's craft our first trace.
It's very simple.
In this lesson let's save a trace file out to the file system and re-open it.
Let's continue learning how to choose events for our traces.
In this lecture let's filter on the database we want to collect data from.
Let's group the results in one of our traces.
In this lecture let's save a trace file to a table.
Let's learn about the eight prebuilt templates included in SQL Server Profiler.
In this lecture we learn how to create, edit and delete our own custom templates.
In this lecture let's learn how to craft custom templates.
In this lecture let's learn about limiting out data collection.
Profiler is a great tool but it will tax a production box.
Let's learn why filters don't necessarily reduce the resource consumption on the box.
There's a ton of information you can capture.
However, that doesn't mean you should.
Let's trim the herd.
There aren't a lot of hidden tips inside Profiler but this is one of them.
Let's learn how to choose an entire row of data points.
We can easily add multiple filter to our traces.
Let's learn how in this lecture.
Using wildcards give us a lot of flexible on how we can define our filters.
There aren't that many options or setting on the main profiler screen but we should know what this one does.
In this lecture let's define what we are hunting.
What are we trying to capture?
What's an RPC call?
Let's answer these in this lecture.
Let's choose the events for our new trace.
We are customizing a trace for slow running queries.
In this lecture lets learn some settings that apply to all traces.
Let's look at our events specific to capturing our slow running queries.
In this lecture let's walk through what the data columns mean in our trace.
Let's put everything we've done together and then present our finding to development and the business.
I've been a production SQL Server DBA most of my career.
I've worked with databases for over two decades. I've worked for or consulted with over 50 different companies as a full time employee or consultant. Fortune 500 as well as several small to mid-size companies. Some include: Georgia Pacific, SunTrust, Reed Construction Data, Building Systems Design, NetCertainty, The Home Shopping Network, SwingVote, Atlanta Gas and Light and Northrup Grumman.
Experience, education and passion
I learn something almost every day. I work with insanely smart people. I'm a voracious learner of all things SQL Server and I'm passionate about sharing what I've learned. My area of concentration is performance tuning. SQL Server is like an exotic sports car, it will run just fine in anyone's hands but put it in the hands of skilled tuner and it will perform like a race car.
Certifications are like college degrees, they are a great starting points to begin learning. I'm a Microsoft Certified Database Administrator (MCDBA), Microsoft Certified System Engineer (MCSE) and Microsoft Certified Trainer (MCT).
Born in Ohio, raised and educated in Pennsylvania, I currently reside in Atlanta with my wife and two children.