We’ve published our monthly SQL Server newsletter since 2009 to help you do a better job of managing your own SQL Servers. When you run into trouble, we hope you’ll remember that we’re here for you. Need a consultant? Drop us a line.
“This is amazing information. I’m not trying to be dramatic with my adjectives… I’ve spent the last three weeks digging through 1,300 page books and every imaginable Internet forum. This is the most useful collection of SQL tips that I’ve found.”
It takes a surprising amount of time to write and publish a newsletter but feedback like this is what keeps us going. We would enjoy hearing your feedback as well.
2018 Newsletter Posts
Understanding SQL Server Execution Plans – The long-awaited book from Grant Fritchey about understanding SQL Server Execution Plans is now available.
Support For SQL2008 and SQL2008r2 ends July 9, 2018 – May 2018 – Are you ready? General Data Protection Regulation (GDPR) comes into effect this month. Are you ready for that too?
Tune SQL With Wait States – April 2018 – When your SQL Server is not performing as well as you would like, the fastest way to find out what’s wrong is to look at the wait statistics.
Choosing the Right Clustering Key – March 2018 – The right choice of the clustering key for your table is a critical element in creating a high-performance database.
The Two Million Dollar Misunderstanding – February 2018 – In this article we discuss the meaning of NULL and a misunderstanding that cost a client of mine at least two million dollars.
The Tipping Point – January 2018 – Why does the query optimizer in SQL Server prefer to scan an entire table instead of using a non clustered index that seems to fit the query perfectly?
2017 Newsletter Posts
SQL Server 2017 is a brand new world – December 2017 – SQL 2017 is the most important upgrade since SQL Server 2000.
When the Wheels Come Off – November 2017 – What do you do when you cannot connect to an unresponsive server or a database? Prepare yourself with these suggested commands.
Understanding Compatibility Modes – October 2017 – There are new features in each new version of SQL Server and there are some old features that have been eliminated from the newer version.
Recovering From Database Corruption – September 2017 – We are going to talk about data corruption.
Parallelism Settings in SQL Server – August 2017 – We are going to look at Cost Threshold For Parallelism and Max Degree of parallelism.
Understanding Unsearchable Arguments – July 2017 – Performance problems occur when a condition in the WHERE clause is not sargable and the optimizer cannot use it to build a good execution plan.
Deprecated Features after SQL 2016 – June 2017 – Microsoft is always upgrading SQL Server, and that often requires changes and removal of existing features that many users and legacy applications have been depending on.
A Story About Foreign Keys – May 2017 – This month I am going to illustrate the importance of indexing Foreign Keys (FKs).
Thoughts on Data Safety – April 2017 – Protecting your data is the number one job a database admin (DBA) has to do, and she needs to do it right.
Using Tables as Buckets – March 2017 – Every once in a while I run into a database that is designed with empty tables that are then loaded with data.
Enterprise Features Coming to Standard Edition SQL Server – February 2017 – Many of the “Enterprise Only” features in SQL Server are now available in all editions of SQL 2016 Service Pack 1 and beyond.
Big Performance Problems with the Cardinality Estimator – January 2017 – Users upgraded to SQL 2014 or 2016 found that some specific queries were running much slower than they ran in the previous version.
2016 Newsletter Posts
Should You Enable Large Pages on Your SQL Server? – December 2016 – There are three conditions that must be met before you can even think about Large Pages.
Using the INCLUDE Operator For Better Indexes – November 2016 – I personally think that the Included Column is one of the most useful improvements in post-2000 SQL Server.
How to Become a SQL Consultant – October 2016 – I was surprised at the response to the this newsletter. There must be a lot of DBAs that want to be independent consultants. Learn what you need to know to make the jump.
Problems with ANSI Settings – September 2016 – Poor performance can be caused by many different things. However ANSI settings is a cause that is often overlooked. Learn more about this performance killer.
Working Around the Limitations of the Missing Index Algorithm – August 2016 – The missing index algorithm can dump a bunch of worthless indexes on your database. Learn how to use it to avoid those problems.
When Good Parameter Sniffing Goes Bad – April 2016 – Bad parameter sniffing can cause serious performance problems. Learn how to fix it.
Avoid Maintenance Plan Problems in SQL Server – March 2016 – Here are the most common mistakes made in creating SQL Server Maintenance Plans. Don’t Make Them.
End of Support for SQL Server 2005 – February 2016 – How will the end of life for SQL Server affect you?
2015 Newsletter Posts
The Many Perils of Using NOLOCK – August 2015 – You probably know that NOLOCK can cause dirty reads that often cause inaccurate results, But do you know about the other ways NOLOCK can return inaccurate results with duplicate data, missing rows, phantom reads, etc.
Auditing with fn_trace_gettable and the Default Trace – June 2015 – fn_trace_gettable can read trace files as if they were tables.
view correlated data using Performance Monitor And SQL Profiler. – July 2015 – View correlated data by combining data from SQL Profiler traces and Performance Monitor Data Collector Sets.
Fixing Performance Caused by forwarded Records – April 2015 – Forwarded Records are a hidden cause of poor SQL Server Performance.
A SQL Injection Primer – January 2015 – SQL Injection is Making the Rounds Again. Are you prepared?
2014 Newsletter Posts
A Quick Comparison of SQL Server and Oracle – September 2014 – SQL Server or Oracle? Is either of the two platforms clearly superior to the other?
Microsoft Ups the Ante – June 2014 – Be prepared for sticker shock when you read about new licensing costs.
Free SQL Server Advice from a SQL Expert – May 2014 – If a few minutes of my time can help anyone avoid a two hour search on Google, I am glad to help. No cost, no strings attached.
SQL Server 2014 for Standard Edition Users – April 2014 – It has been a long time since Microsoft released a a new version of SQL Server with this much to offer Standard Edition users.
Memory Optimized Tables in SQL Server 2014 – March 2014 – Memory-Optimized Tables in SQL 2014 can increase performance by orders of magnitude.
The Need for Training SQL Developers- February 2014 – The most frequent and most difficult cases of poor SQL Server performance are the result of inadequate training for application developers
Understanding SQL Server Statistics – January 2014 – Statistics are the foundation that indexes are built on. Understanding what statistics are and how they are used is fundamental to successful optimization of your SQL Server.
2013 Newsletter Posts
Encryption for the Rest of US – December 2013 – Finally Microsoft has done something for the Standard Edition user. That something is backup file encryption, coming in SQL 2014.
Tune SQL Server Using Wait Statistics – November 2013 – When your SQL Server is not performing as well as you would like, the fastest way to find out what’s wrong is to look at the wait statistics.
The Importance of Join Order on SQL Performance- October 2013 – The order in which the SQL query optimizer access the tables in a query is perhaps the most important item in an execution plan. Learn what you need to know about join order.
Implicit Conversions Revisited – September 2013 – Implicit Conversions can cause severe performance problems in SQL Server and they often go undetected. Learn how to identify and fix these data type conversion problems.
Tuning Your Tempdb – August 2013 – Poor Tempdb performance will affect the overall performance of your SQL Server. This newsletter will help you tune your tempdb for optimum performance.
Extended Events for Slackers, Part 2 – July 2013You don’t have to know much about Extended Events to use the system_Health XE session to monitor your SQL Server.
Distaster Recovery and High Availability – June 2013 – Don’t confuse High Availability with Data Safety
Deprecated SQL Server Features – May 2013 – Stay aware of deprecated features in SQL Server to insure your ability to upgrade easily.
Smart Reindexing to Improve High Availability – April 2013 – Achieve Near 24/7 Uptime Using SQL Server Standard Edition with Smart Reindex Scripts
Big Data, Small Budget – March 2013 – Big Data used to be a problem only for big business with the big IT budgets necessary to manage it. But more and more it is becoming a problem for smaller companies with small budgets. Here are some tips for managing big data on a tight budget.
SQL Injection Damage Control – February 2013 – The subject of preventing penetration of your site through SQL Injection is complex. However, the subject of preventing damage from the successful penetration can be pretty simple.
Extended Events for Slackers – January 2013 – SQL Server Extended Events are notoriously difficult to master. But here is a relatively easy way to get started with the technology intended to replace SQL Profiler.
2012 Newsletter Posts
SQL Server Extended Events – December 2012 – Now that SQL Profiler has been deprecated and will be replaced by Extended Events, it is time to tackle this new technology
Encryption, Arghh! – November 2012 – Evolving data security standards may force you to encrypt the data in your SQL Server sooner than you think.
Performance Problems with Implicit Data Type Conversion in SQL – October 2012 – Unknown to you, SQL Server may implicitly convert one data type to another. This can create huge performance problems that are difficult to track down.
Using SQL Server Standard Reports – September 2012 – Before you spend a lot of money on a third party performance monitoring solution, check out the standard reports available within SQL Server itself.
Too Much of a Good Thing – August 2012 – A lot of available memory is a good thing for SQL Server. However, huge amounts of memory can cause high cpu use and poor performance.
SQL Performance Monitoring Tools – July 2012 – Third-party performance monitoring tools for SQL Server can sometimes cause the problems they are intended to prevent. We discuss real-world performance problems that can be caused by these tools. We also discuss the FREE option that is built into SQL Server.
Recovering From SQL Server Database Corruption – June 2012 – Learn how to prepare for and recover from SQL Server database corruption.
SQL Server Deadlocks – May 2012 – Fixing SQL Server deadlocking issues is seldom easy, but SQL Profiler’s Deadlock Graph can make it easier.
Before you Purchase SQL Enterprise Edition – On-line indexing and table partitioning are powerful tools for maintaining and optimizing performance on 24/7 databases. But there are limitations to these two features that might make it impossible for you to achieve the benefits you expected. Read this article before you upgrade. It might save you a lot of money.
A Quick Look at SQL Server 2012 – February 2012 – Unlike SQL Server 2008R2 which was just a service pack that we had to pay for, SQL Server 2012 is the real deal. Read about some of the important new features.
Solve SQL Server Blocking Problems – January 2012 – Before you can fix blocking problems you need to know what queries are causing them. This article gives you the tools to find the blocking and the blocked code.
2011 Newsletter Posts
SQL Azure Revisited – December 2011 – Is SQL Azure ready for prime time? This article discusses the pros and cons of using SQL Azure for production databases.
Using Sparse Columns and Filtered Indexes – November 2011 – In this issue we demonstrate how to use sparse columns and filtered indexes to improve performance and reduce the overall size of your database.
Choosing the Right Clustered Index Key – October 2011 – The fifth in our series, A Methodology for Query Optimization. You may want to start with the June 2011 article before reading this if you are new to SQL Server optimization. In this issue we discuss a critical performance issue, selecting the best key columns for your clustered indexes.
SQL Server Search Arguments – September 2011 – The fourth in our series, A Methodology for Query Optimization. You may want to start with the June 2011 article before reading this if you are new to SQL Server optimization. In this issue we discuss Search Arguments, searchable and non-searchable.
SQL Server Execution Plans – August 2011 – The third in our series, A Methodology for Query Optimization. You may want to start with the June 2011 article before reading this if you are new to SQL Server optimization. In this issue we discuss SQL Server Execution Plans. This article contains a link to Grant Fritchey’s very good (and FREE) ebook on this subject.
The Covering Index – July 2011 – The second in our series, A Methodology for Query Optimization. In this issue we discuss the covering index and illustrate its usage. You may want to read the June 2011 article before reading this if you are new to SQL Server optimization.
A Methodology for Query Optimization – June 2011 – With this article we begin a new series, A Practical Methodology for SQL Query Tuning . In this first installment we show you how to put principals into practice.
Upgrading SQL Server 2000 – May 2011 – SQL Server 2000 was a great version of SQL Server but it’s time to move on. Here’s how to do it safely and with minimum cost.
Stress Testing SQL Server – March 2011 – Microsoft’s OSTRESS utility and SQL Profiler’s ability to replay traces provide an inexpensive way to stress test SQL Server when developing or modifying database applications.
Why is My Log File So Big? – February 2011 – Excessive log file growth happens for specific reasons. Understanding those reasons is the key to controlling log file growth.
It’s Prediction Day Again! – January 2011 – Once a year, the all-knowing, all-seeing SQL guy makes his predictions. This year the news will be about the impact of social sites and search engines that slam into reverse like a runaway Toyota.
2010 Newsletter Posts
Four Indexing Myths – December 2010 – There is a lot of misinformation about SQL Server. This month, we explode some of the common myths about indexing.
Common Language Runtime from a DBA point of view – Modern object oriented languages have functionality that is difficult to reproduce using TSQL.
Understand and defend against SQL Injection attacks- August 2010 – SQL Injection is an ever-present danger to your data. Here is something to help you understand and defend against attackers.
Using SQL Server’s default trace for Auditing and Troubleshooting – July 2010 – The default trace in SQL Server can provide important information for troubleshooting and auditing. The data can be queried directly from the trace files using the built-in function fn_trace_gettable.
Beware of the Wizards – June 2010 – and their slightly defective magic.
Fixing Log File Fragmentation – May 2010 – Internal fragmentation in the database log file is often overlooked as a cause of poor performance. Here is how to find out if you have it and how to fix it if you do.
SQL Server 2008 Release 2 – April 2010 – Is SQL Server 2008 Release 2 a real release or just a service pack we have to pay for? We think it’s a little of both. Find out what’s in this release for you.
SQL Integration Services – March 2010 – We continue our survey of the many useful features that come with your SQL Server license. This month we look at Integration Services.
You’ve Got Mail! – February 2010 – SQL Server Database Mail allows you to send email from SQL Server. This incredibly useful feature is a great improvement over its predecessor, SQLMail.
What can Service Broker Do For You? – January 2010 – What is Service Broker exactly and how can it help you? Here is an overview of SQL Server’s asynchronous messaging service with some practical examples of how you can use it to solve difficult problems.
2009 Newsletter Posts
A First Look at SQL Azure – December 2009 – Cloud Computing is replacing Virtualization as the IT buzzword of the moment. In this issue we take a look at the details of Azure, Microsoft’s entry into the field.
A Simple, Effective Backup Plan – November 2009 – The most important elements of a backup plan are the decisions you make, not the tools you use.
Thinking in Sets – October 2009 – Everyone who programs a database has heard many times that the SQL language is optimized for set based solutions rather than procedural solutions, but examples are seldom provided with that advice.
High Availability and Redundancy – September 2009 – This month we explain a few things you need to know about clustering, log-shipping and mirroring.
Understanding SQL Server Licensing – August 2009 – You might save a lot of money if you understand the details of Microsoft’s new licensing model.
Fixing Deadlocks with the Deadlock Graph – July 2009 – Deadlock Graphs appeared in Profiler in 2005, but it did not get a lot of attention.
The Perils of XML Over-use – June 2009 – XML is a useful tool in any database environment, but it has its limits. Pushing it past its limits can result in serious performance issues.
Before You Virtualize – May 2009 – Virtualization is the buzzword of the moment but there are other server consolidation methods that might work better and cost less.