T-SQL Tuesday #116 – SQL on Linux

This month’s invitation is from Tracy Boggiano. She asks us about what it would take to adopt SQL Server on Linux.


The first thing it would take for our clients to adopt SQL Server on Linux is both the knowledge that this is a thing. As a large number of our clients are still running SQL Server 2008 or 2012 (though the adoption rate is moving faster and faster towards SQL Server 2016 and incidentally 2017), most are not aware that there Linux is even an option

More importantly, most clients have a Windows environment and that means that the server admins are Windows admins. Confronted with Linux machines a large number of them shake their head in wonderment what this is. My company sells the SAP IQ database too and this runs on Linux as well. But most clients want it to run on Windows, because that is what the know and do.

Are you serious?

When i told a few of my colleagues that i was running SQL Server on Linux, they were joking around that i was using number of different operating systems stacked on each other just to show off. True, i was using Docker to try it out but that stacked up to running SQL Server on Docker on HyperV on Windows.

This attitude makes it harder to convince people that this is more that just a funny plaything or even a serious option for production. They do see the advantages for development or testing. But because the user test must reflect actual production at some point a Windows environment comes into play. The fact that Oracle runs on Linux as well didn’t change the attitude much.

Busy busy busy

It’s all fun and games for you, but if we promote this, we need to support it and there aren’t enough people around who know Linux to troubleshoot issues. Fair point but what issues will we encounter? We don’t know because we didn’t test this on our workloads. Why didn’t we test it? Well, we don’t know enough about it and we’re busy. That’s stand-off i’m supposed to break down (and not escalate into a Mexican stand-off by the way).

The main concern is that if there’s a performance problem, we all know how to frown at Windows, unleash perfmon and go home knowing that all will be well. With Linux, it’s a bit different. There’s no nice graphical perfmon but a friendly blinking cursor waiting for your command. That can be scary, just like an empty screen where a blog should appear.

How to proceed?

There should be a way to show there’s no need for fear. For me, the way to go is Docker. Besides HyperV you don’t have to run scary things. Pulling and running a container can be done with two Powershell commands and you’re off. Move your testing environment to a container with persistent disks and you’re ready to go about your tests. Fire off your workload and look at what happens. Do things break? Is it faster or slower? But give it a fair chance to prove that this is a viable option in your estate.

And don’t forget to tell your CFO that you can download and run Ubuntu for free.

Thank you very much for reading!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s