With the release of SQL Server 2017, you now have the option to deploy the database engine and just about all of the related services on either Red Hat Enterprise Linux (RHEL) 7.3+, SUSE Linux Enterprise Server (SLES) v12 SP2, Ubuntu 16.04, or the latest Docker image that uses Docker Engine 1.8+ on Ubuntu 16.04 as of April 10, 2018. Microsoft recently published a very slick marketing white paper titled Top six reasons companies make the move that highlights various case studies of making the shift from Windows for running SQL Server on Linux that is well worth checking out. It includes the reasons that you would expect Microsoft to come up with like: flexibility, performance, security, cost, simplicity, and everything built in.
The problem I see with the document is that it attempts compare running on-premises open-source databases like MySQL, MariaDB, and PostgreSQL to SQL Server 2017. In this blog post, I’m going to talk about the top reasons for moving or upgrading your existing SQL Server database instances from Windows Server to Linux. With organizations still running SQL Server 2005 and 2008, you need to be thinking about upgrading to the latest version of SQL Server. By the time you finish reading this post, I hope that you will be convinced that as a database or systems administration, or a manager of database services in your organization, you’ll start skilling up to running SQL Server 2017 on Linux.
1. Enterprise-ready with great performance
SQL Server on Linux is enterprise-ready, providing you with the latest and the greatest features like AlwaysOn, High Availability, Disaster recovery. With a standard open-source clustering mechanism for the Linux operating system, you can run AlwaysOn Availability Groups on the Linux environment. You even have the ability to mix your Linux and Windows operating systems for your AlwaysOn configuration. For example, you can run all your primaries on the Windows OS and use secondary replicas on Linux.
TPC-H benchmark results show that SQL Server on Linux delivers amazing performance. Linux proved to be faster than Windows in that benchmark too. This highlights that SQL Server’s functionality, performance, and scale are not compromised when deployed to Linux.
2. No difference when running SQL Server on Linux
SQL Server on Linux provides a familiar experience to Windows users. The majority of the tools that your developers and DBAs use to work with SQL Server on Windows platform work as-is with Linux. That’s because the connection types you use, all work the same with Linux. Of course, the typical Windows-users will need to gear up some sort of Linux knowledge. Primarily this is the case for the DBAs who are working at the lower level.
What’s even more important is that SQL Server 2017 provides native experience for Linux users. You can run a standard installation process with package-based installation using yum for Fedora-based distributions, apt-get for Debian-based distributions, and zypper for SLES. Administrators can update SQL Server 2017 instances on Linux using their existing package update/upgrade processes. In addition, the SQL Server service runs natively using systemd. T-SQL statements and scripts support Linux file paths, and you can opt for using popular Linux high-availability solutions like Pacemaker and Corosync.
Also, you can use standard cross-platform tools like SQL Server command-line tools (sqlcmd, bcp), SQL Server Management Studio (SSMS), SQL Server Data Tools (SSDT), and PowerShell module (sqlps) to manage SQL Server on Linux from Windows.
However, we can’t state that SQL Server on Linux doesn’t have any limitations. This is what you have to accept with SQL Server on Linux.
Generally speaking, 95 percent of features just work—anything app or coding related. Some features have partial support, for example, SQL Server Agent will not launch a Windows command prompt. Some of the SQL Server features are still in progress. And all of the BI tools, like reporting or integration services, are yet to be supported.
There are some features SQL Server on Linux will never support. For example, FileTable, where you have a win32 share to place files that show up in the engine. Discover the full list of features not currently supported on Linux on https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-release-notes.
3. Linux costs less than Windows Server
Actually, most of users consider it as the number 1 reason.
Buying a SQL Server license gives you the option to use it on Windows Server, Linux, or Docker. Regardless of where you run it — VM, Docker, physical, cloud, on-premises — the licensing model is the same; available features depend on which edition of SQL Server you use.
Moreover, you can move your existing enterprise licenses from Windows to Linux with no extra charge.
In addition, a huge price difference comes to play when you consider running your workloads on the virtual machines on Microsoft Azure. Our experiments show that you can save 12-40% on the hourly rate if you run Azure virtual machines on Linux with the exactly the same configuration opposed to running them on Windows Server.
SQL Server on Linux ideas
Still not convinced to try SQL Server on Linux? The following bright ideas can help you get started.
- Upgrade older versions
If you’re running SQL Server 2008 or 2008 R2 databases, you may already know that Microsoft ends the extended support on July 2019. So, you can upgrade your existing databases to SQL Server 2017 on Linux
- Expand your system
Adding Linux support, you can opt for using both Linux and Windows for Availability Groups with Failover on the database level, configure failover clusters on Linux, or add synchronous replicas on Linux and asynchronous replicas on Azure VMs.
- Move to the cloud
Consider SQL Server 2017 on Linux with all the existing tools you know and love. Your developers and DBAs will never feel the difference, while you will save up to 40% of operating costs.
So, the top 3 reasons for running SQL Server on Linux include:
- Enterprise-ready with industry-leading performance
- Works in your environment and developers won’t notice the difference
- And the last, but not least is reduced operating costs
Flexibility is another great thing to mention when it comes to the choice of platform, programming languages, and data infrastructure.
Another benefit for Linux users is that SQL Server 2016 new Always Encrypted feature is also available on Linux. This means that you can keep your data secured with built-in database features. And you don’t need to use the third-party Linux tools to encrypt your data manually.
Need help migrating your SQL Servers to Linux? Contact DB Best — we’re happy to help!