SQL Server

MSSQL Server on Linux: A New Hope

2016 will be remember as the year of Trump’s victory, Brexit and Microsoft releasing SQL Server for Linux. I was feeling a mix between skeptical and excited the first time I read about MSSQL Server on Linux but after reading a bit I have to say I’m quite surprised of what Microsoft have achieved. The first incredible thing is the installation process…

$ curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo | sudo tee /etc/yum.repos.d/mssql-server.repo
$ sudo yum update
$ sudo yum install mssql-server

That is all. No, I’m not joking. That is everything you need to run MSSQL Server in Linux (Redhat or Ubuntu flavor). The real question is: Is there any difference about using MSSQL Server on Linux than in Windows?

Getting closer with MSSQL Server

Some years ago Microsoft decided to start using SQLOS as a platform layer for different hardware. During that time the idea was not using MSSQL Server on a different platform than Linux but to centralize the access from the database to the operating system in a single layer. Years later this layer played a main role on MSSQL Server port from Windows to Linux since this layer allowed for the system calls to be ported centrally. Anyway there were still some process that didn’t use SQLOS so it was necessary to port them.

On 2011 Microsoft started to investigate Drawbridge which it is a new form of virtualization.  It basically combines process isolation, Windows ABI (kernel/syscalls), implementation of Windows APIs/lib and divers to initialize the memory for the VM. If we combine Drawbridge and SQLOS we can run MSSQL Server to be run in Linux quite smooth and similar to run it on Windows.

I checked some blogs of users who experiment with MSSQL Server under Linux and the results are really good. The run-time behaviour doesn’t change as compared to a Windows and the applications should run as good as they run on Windows.

How to manage the database

We can manage the databases almost as we do right now on Windows. Both CLI and SSMS are available for MSSQL Server on Linux. We can use CLI from the own server or connect remotely from a different computer using SSMS. We can even use these extensions for Visual Studio Code if we don’t want to use Windows at all.

What the future will bring

Even if the current version of MSSQL Server for Linux is stable and fully working there are some features to be implemented:

  • Full text search.
  • Replication.
  • Active Directory authentication.

This last topic is a key feature for some of my customers who use AD authentication and SSO in order to access the databases. Considering this I think there will be a lot of companies that won’t migrate their database to MSSQL Server under Linux at this moment. I probably setup a testing VM to check the performance of MSSQL Server on Linux and compare it with it running on Windows, as soon as I have some results I will post them. We will see what happens in 2017, right now there is only one thing to say: Well done Microsoft!

Mike

Share
Published by
Mike

Recent Posts

DevOps, Infrastructure as Code and SAP

I hope you all survived the log4j Apocalypse and Christmas, hopefully you had a great…

2 years ago

Log4Shell Critical vulnerability

I know it is being a while since I posted the last time. So far…

2 years ago

Adobe Acrobat Reader Security Update causing issues with SAPGUI

UPDATE 11/25/2020 Adobe released a new patch that solves the issue a few days ago:…

3 years ago

SAP GUI 7.70 Preview: They will know me as Quartz

Good news for you fanatics of SAP GUI! SAP will release SAP GUI 7.70 in…

4 years ago

Preparing the SAP Cloud Consultant Interview

Quick update since I don't have a lot of time lately. During my 2019 job…

4 years ago

It's the final countdown (2019 Edition)

It's been a while since the last time I wrote an entry in my blog.…

4 years ago