For decades, Microsoft SQL Server has been key to how many organizations effectively manage and access data. As technology has evolved, however, there is a growing need to achieve high performance computing with demanding workloads. The speed and performance possible on Linux systems presents an ideal platform for Microsoft SQL Server.
What is SQL Server?
SQL (usually pronounced "sequel") stands for Structured Query Language, a programming language used for storing and processing data within a relational database. Microsoft SQL Server was developed specifically for Microsoft Windows and first launched in 1993. It is the world’s leading relational database management system thanks to its ease of administration, common security and authorization settings, and centralized tooling. Popular versions of SQL Server include SQL Server 2017 (mssql-server-2017) and SQL Server 2019 (mssql-server-2019).
It is used for structured data, meaning that the different elements of the data have a defined model for what their properties are and how they relate to each other. This approach to data models allows for both complexity and clarity in how the data is managed, which is why SQL databases are still the preferred implementation for many organizations today. There are several editions of SQL Server, including Enterprise, Standard, Web, Developer, and Express.
SQL Server supports extensions to the SQL language, known as Transact SQL (T-SQL). The sqlcmd command line facilitates T-SQL statements, procedures and files. Most databases are managed through separate configuration tools, so some other tooling or application layer is required to access and manage the data. However, T-SQL extensions can access SQL Server-specific features and even administer the database itself. Microsoft's approach allows both applications and servers to be managed with the same tools (mssql-tools) and simplifies remote administration. Additionally, common authorization and access controls can be applied, which can make it easier to define and manage security for the database.
Why run Microsoft SQL Server on Linux?
There are fundamental differences in how Windows Server and Linux operating systems manage storage, define filesystems, and manage users and operations. There are also different administrative approaches between Linux environments and Windows environments, with Linux focusing more on direct interaction with configuration and service settings and offering robust command-line operations and functions for administrators. Windows, on the other hand, has typically focused on the graphical user interface and more user-friendly workflows.
Most organizations tend to favor either a Windows or a Linux environment. However, within the past decade, the overall tech landscape has been shifting, with an increasing need to achieve high availability and high performance with demanding workloads as well as a better user experience and rich feature sets. This led to a new focus for running SQL Server on Linux.
Linux systems are both multitasking and multiuser, which allows for multiple operations to be run by multiple users simultaneously. Windows approaches this differently, by switching between multiple threads in fractions of a second. As data workloads increase both in volume and complexity, this approach to task management begins to affect performance.
Learn about what the versatility of Linux, the scalability and reliability of cloud services, and the power of SQL Server databases can do to help enterprises keep up in a data-driven economy.
How does SQL Server run on Linux, when it was built for Windows?
In 2016, Microsoft rearchitected SQL Server, working to compartmentalize most of the core OS-specific dependencies and allowing multiplatform support (they called this approach a platform abstraction layer). The project was more than just porting MS SQL Server to Linux; it would require compatibility between MS SQL Server Linux and Windows deployments –– the same release and update cycles, and the same performance, quality, security, and scalability.
As a result, MS SQL Server is supported on Red Hat Enterprise Linux, SUSE Enterprise Linux, and Ubuntu, along with Docker containers (and Red Hat OpenShift), AWS, Kubernetes, and as a specialized virtual machine on Azure.
Microsoft SQL Server is not the only SQL database available for Linux systems. PostgreSQL and MySQL are both open source relational databases which launched in the mid-1990s, and new projects are still being developed, with major initiatives like MariaDB launching in 2009. All of these open source projects are available with Red Hat Enterprise Linux.
Why choose Red Hat Enterprise Linux for SQL Server?
Red Hat Enterprise Linux offers a cost-effective, efficient, and scalable foundation for Microsoft SQL Server with core benefits to support your entire environment.
Better performance, out of the box
Not only can SQL Server run on Linux, it actually performs better. In recent benchmarks, Microsoft tested performance against a variety of different database sizes, and Red Hat Enterprise Linux was the fastest at every level. Apart from raw speed, Red Hat Enterprise Linux performed better at overall cost per transaction. Additionally, Red Hat Insights can provide performance tuning information for specific SQL Server deployments and other related systems, such as cloud environments or the operating system itself.
The performance tests illustrate the core needs many database administrators and IT departments are encountering: managing increasing costs while tackling challenges with performance as demands change.
Increased operational efficiency
More than half of organizations installing SQL Server on Linux choose that platform to reduce operating costs. As database sizes increase, there is a proportional strain on IT resources, requiring more skilled administrators, more expensive hardware or software-defined solutions, and complexity around availability. Related, IT departments are trying to reduce dependence on a single vendor for their technology stacks and have the flexibility to move between environments as required.
Red Hat Enterprise Linux offers a variety of flexible subscription options with competitive pricing in leading cloud marketplaces. For on-premises hardware, Red Hat Enterprise Linux leads in all categories for lowest cost per transaction on SQL Server according to the TPC-H benchmark.
Simplified management and standardization
Using Red Hat Enterprise Linux as a platform for SQL Server has additional advantages even over the speed and scalability of using a Linux system. Red Hat Enterprise Linux includes default profiles which automatically configure the system for better performance and security specific to SQL Server environments (using the tuned mssql profile).
Depending on the existing applications and team structure, IT departments may be able to consolidate and standardize on Red Hat Enterprise Linux rather than trying to split workloads between Windows and Linux systems. Standardization is a way to simplify and manage environments as they grow more complex, and the SQL Server Management Studio (SSMS) offers integrated management for SQL Server components.
New to Linux? Red Hat Enterprise Linux web console is a web-based management interface to simplify deployment, daily administration and complex tasks. Web console’s intuitive and easy-to-use web interface simplifies complex activities for non-experienced admins so they can perform tasks without command line knowledge and get a quick and convenient system overview from a centralized web interface.
Consistency for hybrid cloud
Red Hat Enterprise Linux provides a consistent experience for security, performance, features, and more across container and cloud environments, and it is certified for SQL Server. As SQL Server deployments grow in the cloud, that level of performance and flexibility can help IT teams manage their workloads with more efficiency.
Built In Security and High Availability
Get access to the security features of SQL Server and the hardened code of Red Hat Enterprise Linux. Red Hat Enterprise Linux also offers built-in security at the OS level so you don’t have to manage it separately for every workload, protecting against common vulnerabilities and exposures (CVE).
Red Hat Enterprise Linux provides business-critical uptime, fast failover, and improved manageability with Red Hat High-Availability Add-On, combined with SQL Server’s availability groups and backup tools to quickly recover in case of an unexpected failure.
More capabilities for Linux environments
The benefits work both ways. Red Hat Enterprise Linux can provide better cost and operational efficiencies for Windows administrators, but Microsoft SQL Server can also offer new functionality and workflows for Linux administrators if their applications require different capabilities than those available with open source SQL databases.
How can automation help?
Running SQL Server on Red Hat Enterprise Linux can improve performance and save time, but automation can help your enterprise run even more efficiently. With Red Hat® Ansible® Automation Platform, you can install and manage SQL Server in a consistent and reliable manner—on bare metal, virtual, and private and public cloud environments. Ansible Automation Platform reduces SQL Server installation to just minutes, integrates advanced analytics to help you build intelligent applications, and can improve performance for transactional systems and data warehouses.
Not subscribed to Ansible Automation Platform? You can still take advantage of automation with Red Hat Enterprise Linux system roles, a collection of supported Ansible roles that ensure consistent workflows and streamline the execution of manual tasks. Easily optimize your most popular workloads at the time of deployment and simplify ongoing administration by automating workload-specific tasks.
With Red Hat Enterprise Linux’s Microsoft SQL Server system role, you can install, configure and tune Microsoft SQL Server in your enterprise Linux environment with recommended defaults. Use custom network parameters for SQL Server and enable advanced SQL Server functionality, such as SQL Server Agent, full-text search (FTS), powershell, force unit access (FUA) capability, and TLS encryption capabilities. The SQL Server role also supports configuration of SQL Server Always On availability groups with the Red Hat High Availability Add-on. In this configuration SQL Server is capable of delivering increased uptime and scale-out performance capabilities.
Install Microsoft SQL Server on Red Hat Enterprise Linux
If you already use Red Hat Enterprise Linux, browse tutorials, install, and configure Microsoft SQL Server (mssql-conf) now with a quickstart from Microsoft. The SQL Server Configuration Manager ships with the database engine.
If you’re new to Red Hat Enterprise Linux, explore the product page or get started for free.