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

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

The free SQL to Excel Export tool

Earlier this month I released a new, free tool to export SQL Server query data to Excel files without needing Excel. It also installs stored procedures and runs them, if that’s what you desire. Go ahead and play with it. I’ll wait. There was some positive interest on Twitter, for which I am very grateful, and
-> Continue reading The free SQL to Excel Export tool

Does SQL Server 2019 run on Ubuntu 18.04 LTS?

Edit from 19 March 2020: Since the release of CU 3, SQL Server 2019 is officially supported on Ubuntu 18.04, per this blog post. Original post continues below. 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
-> Continue reading Does SQL Server 2019 run on Ubuntu 18.04 LTS?

Proposed SQL Server defaults: disable priority boost

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: disable priority boost

Proposed SQL Server defaults: disable lightweight pooling

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: disable lightweight pooling

Proposed SQL Server defaults: cost threshold for parallelism

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: cost threshold for parallelism

Some databases may show a NULL collation in the sys.databases DMV

While working on my Swart’s Ten Percent Rule post last week, I needed to test the Windows version of the script on my SQL Server 2016 instance. Just before removing all the databases, I noticed something interesting when querying the sys.databases Dynamic Management View (DMV). Because the process I had come up with involved setting
-> Continue reading Some databases may show a NULL collation in the sys.databases DMV

Dates and Times in SQL Server: DATEDIFF() and DATEDIFF_BIG()

Last time we looked at adding or subtracting date parts using the DATEADD() T-SQL system function. This week we see how to calculate the difference between two date-time values using DATEDIFF() and DATEDIFF_BIG(). The syntax for both functions is identical:

The only functional difference between them is that the DATEDIFF_BIG() returns values as a
-> Continue reading Dates and Times in SQL Server: DATEDIFF() and DATEDIFF_BIG()