In the 90s and at the beginning of the 21 century, Linux and Windows were decidedly working at cross purposes
However, starting on 2009, Microsoft started to contribute with code in the Linux Kernel. On 2013, Azure supported Virtual Machines in Ubuntu and later came the support to .NET in Linux, Visual Studio for Linux, PowerShell in Linux, support to monitor Linux server to monitor in SCOM (System Center Operation Manager) and now, the support for SQL Server that is on the previous version when this article was published and it is planned to be released this year (2017). Microsoft is a Platinum member of the Linux Foundation now.
Now, the Microsoft CEO, Satya Nadella, says that Microsoft Loves Linux. But why?
Because there are thousands of Server administrators who use Linux and they are potential customers to use the Microsoft Cloud (Azure). According to Microsoft, around 33% of the VMs in Azure are Linux machines. Two years ago, the number was 20% and each day these numbers are growing.
Note, that Microsoft has more than $2 billion in revenue per year in Azure and it is planned to earn 20 billion on 2018.
If we talk about laptops and desktop computers, Linux has 21.7% to the marketing (and Windows 8, 8.1, 10, etc. 52%) of the usage share. If we talk about Internet Servers, Linux has 35.0% of the usage share (and Windows Server 32.2% according to W3Techs).
So the simple fact is that Linux includes millions of potential users that are now using Azure and other Microsoft technologies and increasing Microsoft revenues.
In addition, other databases like MySQL, Oracle, DB2 are multi-platform, which is sometimes a crucial feature for many companies.
In this article, we will focus on general question and answers about Linux for SQL Server (SQL Server vNext). We hope you to enjoy the article that we believe is the start of a new SQL Server Era.
Here is a list of FAQs:
What Linux Distributions support the new SQL Server vNext?
There are several Linux Distributors (distribution) like Ubuntu, Red Hat, Fedora, CentOS, Debian, OpenSuse and more. The following distribution currently supports SQL Server:
- Red Hat 7.2
- Ubuntu Linux 16.04
- SUSE v12 SP2
This list may change in the future.
I am new in the Linux world, but I would like to learn. Where can I start practicing?
There is a nice virtual lab that can be a good way to start practicing Red Hat Linux here:
If you want to learn fast and avoid wasting time installing a new OS, this lab will help you a lot to learn the commands and the OS:
The lab includes a manual with the instructions to practice.
Is there any differences in the SQL Server Installation in Red Hat vs Ubuntu and SUSE?
Yes, the steps are slightly different. Microsoft separated the installation instructions for each distribution.
For Red Hat, follow this link to install it:
For Ubuntu, follow this link to install it:
For SUSE, follow this link to install it:
What are the installation requirements to install SQL Server vNext on Linux?
3.25GB of memory in all the Linux distribution. In SUSE, you also require XFS or EXT4 file systems.
What are the steps to install SQL Server vNext on Linux?
Here you have the steps for each distribution:
- Install SQL Server on Red Hat Enterprise Linux
- Install SQL Server on Ubuntu
- Install SQL Server on SUSE Linux Enterprise Server
Is the SQL Agent included in SQL Server vNext installer?
No, the SQL Agent must be installed separately. It is an optional package. For more information about installing the SQL Agent on Linux, refer to this link:
Which other features and tools are optional packages that should be installed separately?
The BCP, sqlcmd and full text search. They are all optional packages.
For more information about installing BCP and sqlcmd, refer to this link:
Is there a Virtual Machine template in Azure with Linux and SQL Server vNext?
Yes, there is a template for Linux Red Hat 7.2 in Azure with SQL Server vNext. In the future, there will be more templates.
Is SQL Server vNext supported in Azure?
Yes, you can install in a Virtual Machine vNext in any supported distribution.
I heard something about Docker and Linux on SQL Server. What is Docker and what does it has to do with SQL Server and Linux?
Docker is an Open-source project that is used to automate the deployment of applications including SQL Server. You can use Docker on Linux, Mac and Windows to create a container with SQL Server on Docker. It is a great tool to deploy your application in different environments.
For more information about Docker, refer to this link: Official images for Microsoft SQL Server on Linux for Docker Engine
What SQL Server tools can be used to connect to SQL Server vNext on Linux?
You can use SSMS and SSDT from your Windows Machine to connect to vNext in Linux (make sure to use the last version). You can also use Visual Studio in Linux to connect to your vNext Linux Database.
You can also use the traditional sqlcmd, bcp, sqlpackage and there are some new tools like the mssql-conf and DMVTools. Mssql-conf is used to configure ports, directories, traces, etc. The new DMVTool is used to access Dynamic Management Views through the command line. You can also connect using connectors like ADO.NET, OLEDB, JDBC, Node.js, PHP, Python, etc.
You can also use PowerShell on windows to access to your SQL Server vNext.
How can I install these tools?
To install these tools, follow these instructions:
Does SQL Server on Linux support SSIS and SSAS, SSRS, MDS, DQS, R Services?
Yes, however you need SSDT in a Windows machine to connect to SSIS, SSAS, SSRS. This may change in the future.
How can I migrate my SQL Server Database on Windows to SQL Server vNext on Linux?
There are several ways:
- You can back up your database in Windows, copy to Linux and restore it.
- You can also export and import a BACPAC file from Windows to Linux.
- You can use the SQL Server Migrator Assistant (SSMA).
- It is also possible to use SSIS.
- It is also possible to use the cross-platform Distributed Availability Group to migrate from Windows to Linux or vice versa.
Is it possible to migrate data from other external databases like Oracle, DB2 to SQL Server vNext?
Yes, with SQL Server Migration Assistant (SSMA) you can import data from the following databases:
SSMA requires a Windows computer to install it. If SSMA cannot migrate your data, you can always use SSIS for a more sophisticated and customized migration.
Does SQL Server vNext support failover clusters on Linux?
Yes, you can configure a shared-storage with high availability in Red Hat and Linux. There are technologies like Pacemaker that are used as a cluster resource manager.
What security features are supported in SQL Server vNext?
There are several features supported like:
- Transparent Data Encryption
- Backup encryption
- Cell-level encryption
- Transport Layer Security
- Secure Socket Layer
- Always Encrypted
- SQL Authentication
- AD Authentication
- Row-level security
- Dynamic Data Masking
Does SQL Server vNext support Always On Availability Groups?
Yes, vNext support Always On Availability Groups currently in SUSE, Red Hat and Ubuntu. This feature supports Multidatabase failover, transparent failover, multiple sync and async replicas, manual and automatic failover.
Is there a Microsoft certification in vNext?
By the moment, no. However, it might be included in the new SQL Server certifications.
SQL Server vNext is the new SQL Server who tends to be multiplatform. SQL Server is now moving outside the Microsoft world and becoming the most dangerous Oracle enemy (currently the most popular Database in the world).
We expect to have more supported tools and functionality in the future. Today, there are several tools that can only be installed on Windows, but this may change in the near future.
He has worked for the government, oil companies, web sites, magazines and universities around the world. Daniel also regularly speaks at SQL Servers conferences and blogs. He writes SQL Server training materials for certification exams.
He also helps with translating SQLShack articles to Spanish
View all posts by Daniel Calbimonte