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

The easy way to handle UTF-8 in a .NET application when dealing with SQL Server 2019

A short post this week. On a mailing list recently, someone noticed that a .NET application writing to SQL Server did not have the expected behaviour with UTF-8 collation and data types. To refresh our memories, UTF-8 is newly supported in SQL Server 2019, and provides potential savings of up to 50% when storing strings,
-> Continue reading The easy way to handle UTF-8 in a .NET application when dealing with SQL Server 2019

The case of scalar UDF inlining, where context is everything

Here’s an interesting story for you this week. As part of the new Intelligent Query Processing improvements introduced in the upcoming SQL Server 2019, we find a new feature called scalar UDF inlining. This post is not about scalar UDF inlining exactly, but IQP-adjacent if you like. It works by taking a typical scalar user-defined
-> Continue reading The case of scalar UDF inlining, where context is everything

SQL Saturday 840 in Edmonton next weekend

As I mentioned last month, I will be speaking at SQL Saturday in Edmonton Alberta next weekend. I have been selected to speak for three separate sessions, on the following topics: 10:45 Managing and monitoring SQL Server on Linux from the command line This session will focus on installing, managing and monitoring SQL Server on
-> Continue reading SQL Saturday 840 in Edmonton next weekend

Does SQL Server 2019 run on Ubuntu 18.04 LTS?

Yes. Here’s the proof from an output of SELECT @@VERSION:

Here’s a screenshot of me running mssql-cli on the Ubuntu Server virtual machine in question. SQL Server 2019 (CTP 2.3) is running on 18.04.2 LTS. Is it supported by Microsoft? Not right now. The official documentation still requires Ubuntu 16.04, and the release channel
-> Continue reading Does SQL Server 2019 run on Ubuntu 18.04 LTS?

When the buffer pool isn’t just in memory

Last time we looked at the four major components of a computer system, and then looked at the SQL Server buffer pool as a way to leverage the best performance from computing hardware. Temperature Before we dive deeper into the buffer pool, I wanted to briefly mention data access terminology. A common metaphor for accessing
-> Continue reading When the buffer pool isn’t just in memory

Speaking at SQLBits in March 2019

I have been selected to speak for a second time at SQLBits, which is being hosted in Manchester UK this year from 27 February to 2 March 2019. My session is called An overview of SQL Server 2019 for the busy DBA / developer. Here is the abstract: SQL Server 2019 is a major new
-> Continue reading Speaking at SQLBits in March 2019

Flagrantly ignoring the 10% rule

My friend Michael J. Swart has a rule of thumb he calls Swart’s Ten Percent Rule. If you’re using over 10% of what SQL Server restricts you to, you’re doing it wrong. After a recent discussion on Twitter, I wondered what it would look like if I had 32,767 databases on one instance of SQL
-> Continue reading Flagrantly ignoring the 10% rule

The Golden Gate Bridge partially hidden by clouds

String or binary data would be truncated: get the full picture in SQL Server 2017

SQL Server 2019 Preview (CTP 2.0) introduced a long-awaited improvement to an error message that’s been around in SQL Server for many years, but was unhelpful:

Thanks for nothing, error message. Which table? Which column? What data? This is how the error message looks now:

Notice how the table, column and value are
-> Continue reading String or binary data would be truncated: get the full picture in SQL Server 2017