Overview of SQL Server on Linux requirements and comparison with Windows SQL Server
In a previous article, Introduction to SQL Server on Linux, we learned about the SQL Server on Linux overview, features, performance, and high-availability concepts at a high level. Traditionally, SQL Server is a Windows-based relational database engine. Microsoft introduced SQL Server 2017 in both Windows and Linux platforms. The question is how they compare.
This article will walk through the differences. Let’s begin our journey into SQL Server on Linux.
Note: This article focuses on SQL Server 2019 version for comparisons on both Linux and Windows SQL.
Supported platforms for SQL Server on Linux are the following:
Red Hat Enterprise Linux 7.7 - 7.9, or 8.0 - 8.3 Server
SUSE Enterprise Linux Server v12 SP3 - SP5
Ubuntu 16.04 LTS, 18.04 LTS, 20.04 LTS
Docker Engine 1.8+ on Windows, Mac, or Linux
What are the system requirements for SQL Server on Linux?
SQL Server has the following minimum requirements for SQL Server for Linux:
Processors: x-64 compatible
Memory: 2 GB
Number of cores: 2 cores
Processor speed: 2 GHz
Disk space: 6 GB
File system: XFS or EXT4
Network File System (NFS): NFS version 4.2 or higher
Note: You can only mount the /var/opt/mssql directory on the NFS mount.
What are the supported editions of SQL Server on Linux?
In this section, we talk about different editions of SQL Server on Linux, and their use-cases. These editions are similar to the SQL Server on Windows environment.
Enterprise | The Enterprise edition is Microsoft’s premium offering for relational databases. It offers all high-end data center capabilities for mission-critical workloads along with high availability and disaster recovery solutions. |
Standard | The Standard edition has an essential data management and business intelligence database. |
Developer | The Developer Edition has all features of the enterprise edition. It cannot be used in production systems. However, it can be used for development and test environments. |
Web | The Web edition is a low-cost database system for Web hosting and Web VAPs. |
Express edition | The Express edition is a free database for learning and building small data-driven applications. It is suitable for software vendors, developers. |
Editions of SQL Server on Linux and Windows
The editions specified below apply to both Windows SQL Server and Linux:
Feature | Express | Web | Standard | Developer | Enterprise |
---|---|---|---|---|---|
Maximum relational database size | 10 GB | 524 PB | 524 PB | 524 PB | 524 PB |
Maximum memory | 1410 MB | 64 GB | 128 GB | Operating System Maximum | Operating System Maximum |
Maximum compute capacity – DB engine | 1 socket or 4 cores | 4 sockets or 24 cores | 4 sockets or 24 cores | Operating system maximum | Operating system maximum |
Maximum compute capacity – Analysis or Reporting service | 1 socket or 4 cores | 4 sockets or 24 cores | 4 sockets or 24 cores | Operating system maximum | Operating system maximum |
Log shipping | NA | Supported | Yes | Yes | Yes |
Backup compression | NA | NA | Yes | Yes | Yes |
Always On failover cluster instance | NA | NA | Yes | Yes | Yes |
Always On availability groups | NA | NA | NA | Yes | Yes |
Basic availability group | NA | NA | Yes | NA | NA |
Clusterless availability group | NA | NA | Yes | Yes | Yes |
Online indexing | NA | NA | NA | Yes | Yes |
Hot add memory and CPU | NA | NA | NA | Yes | Yes |
Backup encryption | NA | NA | NA | Yes | Yes |
Partitioning | Yes | Yes | Yes | Yes | Yes |
In-Memory OLTP | Yes | Yes | Yes | Yes | Yes |
Always Encrypted | Yes | Yes | Yes | Yes | Yes |
Dedicated admin connection | Yes, it requires a trace flag | Yes | Yes | Yes | Yes |
Performance data collector | NA | Yes | Yes | Yes | Yes |
Query Store | Yes | Yes | Yes | Yes | Yes |
Internationalization support | Yes | Yes | Yes | Yes | Yes |
Full-text and semantic search | Yes | Yes | Yes | Yes | Yes |
Integration Services | Yes | NA | Yes | Yes | Yes |
Note: You can refer to Microsoft documentation for detailed features details and comparison.
Features not supported by SQL Server on Linux
The following SQL Server features are not supported on Linux.
Database Engine features |
|
SQL Server Agent |
|
Services |
|
Security |
|
Is there any difference in the SQL Server licensing on Linux and Windows?
There is no difference in the licensing for Windows and SQL Server Linux. You can use the licenses on the cross-platforms. For example, if you have a Windows-based license, you can use it for Linux SQL Server.
Can you use SQL Server Management Studio for connecting with SQL Server on Linux?
Yes, we can use it. However, the SQL Server Management Studio ( SSMS) can be installed on a Windows server and remotely access the Linux SQL Server.
Do we require a specific version of SQL Server to move from SQL Server Windows to Linux?
No, you can move your existing databases in any version of SQL Server from Windows to Linux.
Can we migrate databases from Oracle or other database engines to SQL Server on Linux?
Yes, you can use SQL Server Migration Assistant (SSMA) for migrating from Microsoft Access, MySQL, DB2, Oracle or SAP ASE to SQL Server on Linux.
Can we install SQL Server for Linux on Linux Subsystem for Windows 10?
No, Linux Subsystem for Windows 10 is not supported.
Can we perform an unattended installation of SQL Server on Linux?
Yes.
Is there any tool to install on Linux SQL Server for connection or executing queries?
Yes, you can install Azure Data Studio on Linux as well. It is a cross-database platform tool with rich features for development, such as below.
Code editor with IntelliSense
Code snippets
Customizable Server and Database Dashboards
Integrated Terminal for Bash, PowerShell, sqlcmd, BCP, and ssh
Extensions for additional features
You can refer to Microsoft documentation for more details on Azure Data Studio.
Do we have a utility like SQL Server Configuration Manager for Linux?
SQL Server Configuration Manager lists down SQL Services, their status, network protocols, ports, file system configurations in a graphical window for Windows.
SQL Server Linux includes a command-line utility mssql-conf for these configurations.
Can we use Active Directory Authentication for SQL Server on Linux?
Yes, you can configure and use AD credentials to connect SQL Server on Linux with AD authentications.
Can we configure the replication from Windows to Linux or vice versa?
Yes, you can use read scale replicas for one-way data replication between Windows to Linux SQL or vice versa.
Conclusion
It is essential to know the SQL Server on Linux edition, features and how it is different from SQL Server running on WIndows. Therefore, this article provided a comparison between SQL Server on Windows and Linux operating systems. You should understand the differences and evaluate your requirements while planning to move your databases to SQL Server on Linux.