Person using laptop

Did you know we have another SQL Server book coming out?

SQL Server 2017 Administration Inside Out was the first technical book I contributed to, and all its authors were very happy with how it turned out. All the content was written from scratch, which made it quite challenging to manage (it originally started as a book about SQL Server 2016, and then Microsoft surprised everyone
-> Continue reading Did you know we have another SQL Server book coming out?

Detail of a building in Ottawa, Canada

SQL Server 2019 is here

With the release of SQL Server 2019, I wanted to highlight in a single place some things that I’m excited about. Drawing on sessions I presented this year at SQLBits and SQL Saturday Edmonton respectively, these are features in SQL Server 2019 for the busy DBA: UTF-8 in-engine support Intelligent query processing features Replacing sqlcmd
-> Continue reading SQL Server 2019 is here

A steel padlock

When security and news collide

Behold! There’s a scary monster called skip‑2.0, announced by ESET: This backdoor targets MSSQL Server 11 and 12, allowing the attacker to connect stealthily to any MSSQL account by using a magic password – while automatically hiding these connections from the logs. Such a backdoor could allow an attacker to stealthily copy, modify or delete
-> Continue reading When security and news collide

Speaking at SQL Saturday Oregon

SQL Saturday Oregon — in the city of Portland — is taking place next weekend on Saturday November 2nd, 2019, and I’ll be presenting a revised edition of my session “Back to the Future with Temporal Tables.” It’s the Saturday before PASS Summit 2019 which is once again in Seattle. I’m giving two sessions there
-> Continue reading Speaking at SQL Saturday Oregon

SQL Server 2019 on Docker no longer runs as root by default

In my home lab I have an Ubuntu virtual machine that runs both SQL Server 2017 and SQL Server 2019 in Docker containers.

After SQL Server 2019 Release Candidate 1 was released, when I performed my usual migration to get the latest version, I noticed that the command line for the SQL Server instance was different.

I used sudo docker ps -a --no-trunc to see the full command, which is emulated below (note: this output is heavily abbreviated).

[…]

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?

Proposed SQL Server defaults: max server memory

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: max server memory

Dates and Times in SQL Server: DATETIME

Last year I ran a series of posts about Database Fundamentals. Over the next few weeks, I will cover the basics of various date and time data types in SQL Server, when to use them, and which functions to use for date and time calculations. This week will start with probably the best-known data type,
-> Continue reading Dates and Times in SQL Server: DATETIME

Numbers on metal deposit boxes in a bank

Do it now: Date and Number tables

Your production environment needs Date and Number tables, to help you Get Stuff Done in sets instead of RBAR*. Doug Lane has a video on Why You Simply Must Have a Date Table. I really loved the intro. A Numbers Table is also very useful for similar reasons. Jeff Moden has been harping on about
-> Continue reading Do it now: Date and Number tables