Live registration reopens October 1, 2026, in 8d 04h 14mNotify me

Category: Backup and Recovery

Let’s Corrupt a SQL Server Database Together, Part 1: Clustered Indexes

Hold my beer. [crayon-6ab2dace45b8b770290745/] Now, let's corrupt it. Open it with a hex editor - my personal favorite is the free xvi32 because it doesn't require installation. Just download it, fire it up (you'll want to run it as administrator), and open the database's MDF file: Next thing you know, you're looking at the contents…

Read more about Let’s Corrupt a SQL Server Database Together, Part 1: Clustered Indexes 27 comments — Join the discussion
Production DBA

SQL Server Timeouts During Backups and CHECKDB

So you're hosting your SQL Server in the cloud - say Amazon EC2, Azure VM, or Google Compute Engine - and you've noticed that when you're running a backup or a DBCC CHECKDB, you suffer from extreme performance problems.

Queries run slow, and even worse, applications report timeout errors even just trying to connect to SQL Server. More symptoms can include database mirroring and cluster failovers. What's going on?

Read more about SQL Server Timeouts During Backups and CHECKDB 19 comments — Join the discussion
Production DBA

Updated High Availability and Disaster Recovery Planning Worksheet

One of the most popular things in our First Responder Kit is our HA/DR planning worksheet. Here's page one: In the past, we had three columns on this worksheet - HA, DR, and Oops Deletes. In this new version, we changed "Oops" Deletes to "Oops" Queries to make it clear that sometimes folks just update…

Read more about Updated High Availability and Disaster Recovery Planning Worksheet 9 comments — Join the discussion
Production DBA

Availability Group Direct Seeding: Mind Your Backup Jobs

I'll get right to the point While you're Direct Seeding, you have to be careful with any other full or differential backup jobs running on the server. This is an artifact of the Direct Seeding process, but it's one you should be aware of up front. In the screencap below, courtesy of sp_whoisactive there's a…

Read more about Availability Group Direct Seeding: Mind Your Backup Jobs 7 comments — Join the discussion

SQL Server 2016 Maintenance Plan Improvements

Let's just get one thing out of the way first.

Yes, I understand that you, dear reader, probably hate maintenance plans. You associate them with everything dumb that you did early on in your career, like setting up a single plan that reorganized indexes, then rebuilt them, then updated their statistics. You are older and wiser now, and you swear by tools like Ola Hallengren's maintenance scripts or Minion Reindex.

Read more about SQL Server 2016 Maintenance Plan Improvements 12 comments — Join the discussion
Production DBA

What to Do When DBCC CHECKDB Reports Corruption

The instant you encounter corruption in a production SQL Server database, stop. Read this entire article first to understand the big picture, and then come back here to take action. First, understand that you shouldn't start by trying to repair the corruption. You may be facing a storage subsystem problem where your storage is corrupting…

Read more about What to Do When DBCC CHECKDB Reports Corruption 36 comments — Join the discussion
Production DBA

My Favorite System Column: LOG_REUSE_WAIT_DESC

Hidden away in master.sys.databases is one of the coolest diagnostic tools you might ever need: [crayon-6ab2dace54874233553688/] This spiffy little snippet will tell you why each database's log file isn't clearing out. Possible reasons include: Log backup needs to be run (or if you could lose a day's worth of data, throw this little fella in…

Read more about My Favorite System Column: LOG_REUSE_WAIT_DESC 53 comments — Join the discussion

SQL Server 2016 CTP2.4: Maintenance Plan Changes

You can download the next preview of SQL Server 2016 today, and the announcement blog post touted a few improvements to maintenance plans. Oddly, the screenshots in the announcement were apparently done with Microsoft Paint, so I fired up a VM to see how things really look.

The DBCC CHECKDB step in the wizard now has checkboxes for physical only and tablock:

Read more about SQL Server 2016 CTP2.4: Maintenance Plan Changes 14 comments — Join the discussion
Production DBA

Synchronous Always On Availability Groups Is Not Zero Data Loss

In theory, when you configure AlwaysOn Availability Groups with synchronous replication between multiple replicas, you won't lose data. When any transaction is committed, it's saved across multiple replicas.

That's the way it works, right? I mean, except when you restart your synchronous replicas, or patch them, or they just stop working for any number of reasons. The primary keeps right on trucking, accepting deletes/updates/inserts, without telling end users that all their eggs are in a single basket.

Read more about Synchronous Always On Availability Groups Is Not Zero Data Loss 29 comments — Join the discussion