Blogs

Downgrading the SQL Server Edition of a Dev Environment

I got a great question about Edition downgrades recently.

Continue reading

Filtered Indexes: Rowstore vs Nonclustered Columnstore

SQL Server has two types of filtered indexes:

  1. The “classic” filtered nonclustered rowstore index, introduced in SQL Server 2008, available in all editions
  2. The newfangled filtered nonclustered columnstore index, introduced in SQL Server 2016, available in Enterprise Edition

Continue reading

Shrinking SQL Server Data Files - Best Practices, and Why It Sucks

I’ve gotten a few questions about shrinking SQL Server data files lately. What’s the best way to get shrink to run? And why might it fail in some cases?

Traditionally, every time you ask a DBA how to make shrinking suck less, they start ranting how shrinking is bad and you just shouldn’t do it. Sometimes it sounds kinda angry.

What people are trying to say is that shrinking data files is generally slow, frustrating, and painful for you.

Continue reading

Adaptive Query Processing (Dear SQL DBA Episode 21)

Episode update, April 2017: Learn About Adaptive Query Processing from Joe Sack

Microsoft shared a great video about Adaptive Query Processing, and you can learn about this new feature from Microsoft Program Manager Joe Sack. My original post below is full of speculation. Joe’s video is full of actual facts!

Continue reading

SQL Server Query Store - Filegroups and Adhoc Workloads

A couple of questions on SQL Server 2016’s new Query Store feature came up in my recent pre-conference session on index tuning in SQL Server. I wasn’t 100% sure of the answer offhand, so I promised to follow up in a blog post.

Continue reading

Thoughts from the SQLPASS Summit Wednesday Keynote, 2016

It’s the week of the largest SQL Server conference, the SQLPASS Summit. I’m in Seattle with more than 6,000 other SQL Server professionals. I made it to the Keynote this morning, only to find Rob Farley sitting next to me.

I’ve got a cold and I was waiting for the DayQuil to kick in when the Keynote began. If you’ve ever met Rob, you know I was in no danger of falling asleep.

Continue reading

Wildcard vs Regular Expressions - Lucene Query in Azure Search

Sometimes clever developers let you try out cloud services with very little work on your part. This is one of those times - get ready for “Playing with Azure Search: No Installation Required.”

Continue reading

Where do You Get Your Creativity? (Dear SQL DBA Episode 20)

As a database administrator or developer, you’ll get into trouble fast if you try to force all your code and processes into a database shaped hole. You have to be creative when you problem solve  – and when you communicate! So how do you cultivate creativity?

Continue reading

Decoding Key and Page WaitResource for Deadlocks and Blocking

If you use SQL Server’s blocked process report or collect deadlock graphs, occasionally you’ll come across things that look like this:

waitresource=“PAGE: 6:3:70133 " waitresource=“KEY: 6:72057594041991168 (ce52f92a058c)”

Continue reading

Should You Rebuild or Reorganize Indexes on Large Tables? (Dear SQL DBA Episode 19)

The bigger your indexes are, the harder your index maintenance falls. Is it better to rebuild big indexes? Or should you reorganize?

Continue reading