Andrew J. Kelly

Andrew J.
2 26 15

Andrew J. Kelly is a Mentor with SolidQ and a SQL Server MVP with over 20 years' experience with relational databases and application development but specializes in performance, scalability and maintainability of large scale SQL Servers. He is a regular speaker each year and a contributing editor and writer for SQL Server Pro.

Knowledge sharing written in blue above white random letters
Sharing SQL Server Knowledge and Secrets Helps Everyone 1
Many SQL Server professionals truly enjoy sharing their knowledge and experience to help others. Andy Kelly says he wouldn't be a MVP if it wasn't for the experience of others who were willing to share their secrets.
Don’t Fear Dynamic SQL
When done correctly, dynamic SQL can be used effectively. Make sure you know how to get the most out of it.
Demystifying Minimal Logging 2
Stopping transaction logging completely isn’t possible, but you can drastically reduce what’s written to the transaction log with minimal logging. Here’s what you need to know, including the benefits minimal logging can reap.
Fine-Tuning Plan Reuse 4
Making sure that SQL Server’s procedure cache is as efficient as possible can save a considerable amount of time and resources.
top 10 phrase in blue and red
Top 10 SQL Server Performance Tuning Tips 10
It’s time for a system tune-up, and we have just the tools you need: A set of practical tips to help you optimize your SQL Server environment for peak performance.
Tackling SQL Server Query Basics
Weeding out the performance-killing statements in your SQL Server instance is certainly not beyond your capabilities and can take much less time and energy to solve than you realize.
The 4 Best Ways to Efficiently Address SQL Server Performance Problems 2
If you're trying to root out the causes of SQL Server performance problems, do you even know where to start? Wait statistics, file statistics, top 10 inefficient queries, and plan reuse are excellent first steps.
Is Tempdb Affecting Your Day-to-Day SQL Server Performance? 2
See if these tips can make a difference in your overall performance of SQL Server activity.
hourglass with blue sand on a computer keyboard
Is Your Physical Disk I/O Affecting SQL Server Performance? 1
Get a handle on the fundamentals of acceptable physical I/O for SQL Server and learn how to determine whether it's affecting your system's performance.
Do You Have Hidden Cache Problems? 5
Most people know that proper plan reuse is essential to good performance but there is another aspect that everyone should explore to ensure peak performance.
Time to Defrag Your Indexes?
When is the right time to defrag? Ultimately, the answer is up to you, but keep these considerations in mind.
Diving Deeper into Wait Stats
In two previous articles, I've discussed SQL Server 2005 waits and showed you some of the more common ones. Now, let's dive down for a deeper view of what each connection or even thread in the SQL Server instance is waiting on.
Focus on Files and Filegroups 1
Most SQL Server DBAs wonder how many data files or filegroups they should have when they create a new user database. But they should be focusing on how to better utilize filegroups rather than on how many files they need.
Trace Reporting with RML Utilities
Are you using SQL Server's CLR functionality to parse trace files? Microsoft recently updated its RML Utilities, and you might find them easier to use—and a great benefit to your arsenal.
Finding Your Top 10 SQL Server Queries 3
Need to parse server-side trace information so that you can aggregate the data to find your worst-performing and most-called queries? The user-defined SQL_Signature function should do the trick.
Demystifying Minimal Logging
June 3, 2011
Chris, You are correct in that it is chopped off at the end but if you click on the graph it will enlarge the image so you can read it much better. Andy
Fine-Tuning Plan Reuse
April 15, 2011
Harry, The only suggestion to tweak code is when you make calls that do not allow for plan reuse and cannot be overcome with the two options listed. It is not a matter of...
Are Your DMVs Lying to You?
January 29, 2011
Trunik, This is mainly caused by a condiiton known as Parameter sniffing. There are several ways to address it but I would take a look at Itzik's article (
Top 10 SQL Server Performance Tuning Tips
January 12, 2011
Franklin, the link should be fixed soon. Thanks for pointing that out.
The 4 Best Ways to Efficiently Address SQL Server Performance Problems
August 26, 2010
Kenneth, Yes you are correct on the name of the DMV. Not sure how that got missed but thanks for letting us know.

Digital Magazine Archives

Browse back issues of SQL Server Pro, from January 2007 through the last issue published in April 2014. Find the back issues here.


From the Blogs
business people around a table and laptop
Oct 9, 2014

AlwaysOn Availability Groups and SQL Server Jobs, Part 10: Dynamic Detection Gotcha #3

You can interject a SQL Server Job Step into your Jobs and have this new/injected Job Step do some checking for you. Here's a look at everything that’s involved in such an approach....More
Man holding a piece of paper with the word GOTCHA
Oct 7, 2014

AlwaysOn Availability Groups and SQL Server Jobs, Part 9: Dynamic Detection Gotcha #2 3

Given that a USE statement is parsed before code is actually run, there are a few options that could be used as a around when it comes to detecting whether or not code should be run....More
Oct 2, 2014

AlwaysOn Availability Groups and SQL Server Jobs, Part 8: Dynamic Detection Gotcha #1 1

Learn about why the option of dynamically detecting whether or not to run a SQL Server Job at execution time is quite a bit more problematic than you might think....More
SQL Server Pro Forums

Get answers to questions, share tips, and engage with the SQL Server community in our Forums.

Sponsored Introduction Continue on to (or wait seconds) ×