Accelerated Database Recovery in SQL Server 2019: Choose your own filegroup for the version store

An exciting new feature in SQL Server 2019 is Accelerated Database Recovery (ADR). Resulting from a combination of magic beans and smart software developers (I might be wrong about the beans), there is a good chance that you will find yourself using it. Not only can ADR dramatically improve recovery time with database restores, but
-> Continue reading Accelerated Database Recovery in SQL Server 2019: Choose your own filegroup for the version store

The importance of backups

I have been selected to present a second session for the PASS Summit in November this year. I wrote a few weeks ago about the Linux Learning Path and being a part of that, so I was certainly not expecting this. My second topic is about backing up, testing, and restoring SQL Server backups if
-> Continue reading The importance of backups

Better SQL Server memory defaults in 2019

In 2016 I created the Max Server Memory Matrix as a guide for configuring the maximum amount of memory that should be assigned to SQL Server, using an algorithm developed by Jonathan Kehayias. SQL Server 2019 is still in preview as I write this, but I wanted to point out a new feature that Microsoft has
-> Continue reading Better SQL Server memory defaults in 2019

Better SQL Server CPU defaults in 2019

SQL Server 2019 is still in preview as I write this, but I wanted to point out a new feature that Microsoft has added to SQL Server Setup, on the Windows version. On the Database Engine Configuration screen are two new tabs, called MaxDOP and Memory. These are both new configuration options for SQL Server
-> Continue reading Better SQL Server CPU defaults in 2019

What is a container anyway?

Recently there was a thread on Twitter which established that a lot of IT people didn’t know the difference between virtual machines and containers. | ̄ ̄ ̄ ̄ ̄ ̄ ̄|| CONTAINERS || ARE NOT | | VIRTUAL || MACHINES || _________| (__/) || (•ㅅ•) || /   づ — Ian Coldwater ⎈ (@IanColdwater) June 9, 2019 I felt like this
-> Continue reading What is a container anyway?

Containers and data: you gotta keep ’em separated

There was an interesting conversation on Twitter recently, between Grant Fritchey (blog | twitter), Kenneth Fisher (blog | twitter), Anthony E. Nocentino (blog | twitter), Vicky Harp (twitter), and me about containers and SQL Server. Here’s the summary tweet: Already mentioned, you can use a persisted storage volume to keep your databases around (thanks @_randolph_west
-> Continue reading Containers and data: you gotta keep ’em separated

My IT department installed an antivirus with SQL Server

Time for another short blog post, and this one combines two topics I am very passionate about: security, and SQL Server performance. Let’s start by talking about “antivirus” and what that means in today’s world. The term antivirus (AV) itself is outdated; traditionally, AV products detected malicious activity through fixed patterns of code or patterns
-> Continue reading My IT department installed an antivirus with SQL Server

PASS Summit 2019

Speaking at PASS Summit 2019

I am delighted to announce that I have been selected to speak at the largest Microsoft Data Platform conference in the world, PASS Summit 2019, in Seattle WA, USA. As our database community has extended beyond SQL Server into Azure and other platforms, there’s a lot to take in over the course of three days
-> Continue reading Speaking at PASS Summit 2019

Proposed SQL Server defaults: optimize for ad hoc workloads

A few months ago I suggested that the following settings should be the default for most SQL Server instances: Set cost threshold for parallelism to 50 Disable lightweight pooling if it is enabled Disable priority boost if it is enabled Set optimize for ad hoc workloads to enabled Set max server memory (MB) to a
-> Continue reading Proposed SQL Server defaults: optimize for ad hoc workloads

SQL Server on Linux – feature change in Pacemaker 1.1.18

Heads up for SQL Server on Linux folks using availability groups and Pacemaker. Pacemaker 1.1.18 has been out for a while now, but it’s worth mentioning that there was a behaviour change in how it fails-over a cluster. While the new behaviour is considered “correct”, it may affect you if you’ve configured availability groups on
-> Continue reading SQL Server on Linux – feature change in Pacemaker 1.1.18