This article describes the support policies and troubleshooting boundaries for Microsoft SQL Server products that are installed on supported platforms.
Supported operating systems
Depending on the version and edition of SQL Server, you can install SQL Server on a supported Windows operating system. The exact details are outlined on the product documentation page.
This documentation outlines the specific operating systems on which the product is tested and validated. When you install older version of SQL Server on newer Windows operating systems, you have to be on a supported service pack, as described Using SQL Server in Windows 8 and later versions of Windows operating system.
Starting in Microsoft SQL Server 2017, you can install SQL Server on Linux operating systems. The product documentation page outlines the current list of supported Linux operating systems on which you can install and configure SQL Server for production use.
SQL Server Installations are supported on x64-based (AMD and Intel) processors. They are no longer supported on x86-based processors. For current information, see the SQL Server hardware prerequisites page.
Supported virtualization technologies
Microsoft supports deploying SQL Server on virtualization technologies that include Microsoft Hyper-V and other hypervisors that are certified through the Server Virtualization Validation Program (SVVP). For more information about SVVP, see Windows Server Virtualization Validation Program.
If you host a Linux virtual machine on Hyper-V, make sure that you have the supported LIS driver. Microsoft supports SQL Server installations on cloud infrastructure services such as Azure Virtual Machine, Amazon EC2 and Google Cloud. See the detailed support policy for SQL Server on virtual environments.
The host operating system vendors publish supported hypervisors for their systems. The following list includes some examples:
- https://access.redhat.com/certified-hypervisors (OpenStack, RHEV, KVM, Hyper-V, ESX)
- https://help.ubuntu.com/lts/serverguide/virtualization.html (KVM, Xen)
- https://www.suse.com/products/hypervisor-support/ (KVM, Xen, OpenStack)
Please look in the operating system documentation for the current and updated hypervisor that are supported on specific versions of the operating system.
Supported container platforms
SQL Server running in Linux containers
This section describes the support policies and supported configurations for Microsoft SQL Server running in Linux containers.
SQL Server is an application that runs in the user space of a Linux container. SQL Server and its dependencies in the SQL Server container make calls to the underlying host operating system and its kernel. Different Linux operating systems come with different sets of user space applications and Linux Kernel which are well tested in combination with SQL Server. While it is possible to run SQL Server in an untested or unsupported configurations of container and host combinations, Microsoft does not recommend that you do this. We support only configurations that use the following the guidelines. These guidelines dictate the well tested and supported configurations for running SQL Server Linux containers.
The following guidelines and examples apply to the support for SQL Server on Linux container deployments.
- The SQL Server container OS must match the container host OS in terms of distribution and major version.
- A SQL Server on Linux containers deployment supports the same set of supported platforms as for SQL Server on Linux running in non-containerized workloads. For more information, see Installation guidance for SQL Server on Linux.
Examples of supported configurations
- SQL Server 2019 on Red Hat 7.x containers running on a Red Hat 7.x host
- SQL Server 2017 on Ubuntu 16.04 container running on an Ubuntu 16.04 host
- SQL Server 2017 on SLES 12.x container running on a SLES 12.x host
- SQL Server 2017 on Ubuntu 16.04 container running on an Ubuntu 16.04 virtual machine that's hosted on the Windows operating system
Examples of unsupported configurations
- SQL Server 2017 on Red Hat 7.6 containers running on an Ubuntu Container host
- A Linux OS distribution that is not matched between the container and host
- SQL Server 2017 on Ubuntu 16.04 container running on an Ubuntu 18.04 host
- A Linux OS version that is not matched between the container and host
- SQL Server 2017 on a CentOS container on a CentOS Container host (CentOS is not a supported Linux OS distribution for SQL Server on Linux. Microsoft will address only problems that are reproduceable on a supported configuration.)
The Linux container image for SQL Server 2017 is available on the Microsoft Container Registry. You can use the Linux image in your typical DevOps, CI/CD pipeline, or production deployment scenarios. For more information, see the documentation page for container deployment.
For more information about how the operating system vendors support the components in the container and the host operating system, see the following channels:
SQL Server running in Windows containers
Windows container images for SQL Server 2016 and SQL Server 2017 are available in the docker hub. Windows container images are provided exclusively for development and testing. They are not supported for production use. These container images contain the Express and Developer editions of SQL Server.
SQL Server Containers running on container orchestrators
Microsoft supports deploying and managing SQL Server containers by using OpenShift and Kubernetes.
Supported file systems
If you install SQL Server on Windows, the supported file systems are NTFS and ReFS. This applies to the volumes that store the database files and program binaries.
If you install SQL Server on Linux, the supported file systems for the volumes that host database files are EXT4 and XFS.
Supported high availability solutions
When you set up a high availability solution for SQL Server on Windows, please refer to the support policies and requirements at The Microsoft SQL Server support policy for Microsoft Clustering and Prereqs, Restrictions, Recommendations - Always On Availability Groups.
When you set up a high availability solution for SQL Server on Linux, please review the support policies of the OS vendor that are specific to high availability. Production environments require a fencing agent, such as STONITH, for high availability. A Linux cluster uses fencing to return the cluster to a known state. The correct manner in which to configure fencing depends on the distribution and the environment. Currently, fencing is not available in some cloud environments. For more information, see the following OS vendor policies and recommendations:
- Support Policies for RHEL High Availability Clusters - Virtualization Platforms
For supported high availability solution in SQL Server on Linux, see Business continuity and database recovery - SQL Server on Linux.
You can find the current list of SQL Server features that aren't supported in the “Unsupported features and services” section in the release notes. If you try to use components or features that are listed in the notes as unsupported, you might experience unexpected symptoms and errors. When you use a combination of features for your application or solution, make sure that the interoperability between the features is documented as supported. For guidance, see this example.
Microsoft provides technical support and product fixes for SQL Server components that are deployed on supported operating system, file systems, hypervisors, and hardware architectures in accordance with the product documentation. Microsoft may provide limited or no technical support for SQL Server software components that are deployed on unsupported operating systems, file systems, hypervisors, and hardware platforms.
If you deploy SQL Server on an unsupported operating system, file system, or hypervisor, you might experience unexplained behavior and results. When you troubleshoot such problems, the Microsoft Support team may ask you to reproduce the problem on a supported combination of operating system, file system, hypervisor, and hardware architecture. Under these circumstances, Microsoft might be unable to provide support or a resolution for the problem if the problem occurs only in the unsupported combination of operating system, file system, hypervisor, or architecture.
When you troubleshoot problems that occur when you use a solution or application that's built by using SQL Server, Microsoft Support will try to isolate the cause of the problem to the specific software or hardware layer source. The problem might be either in the SQL Server software or the operating system components that SQL Server interacts with. If the problem is in SQL Server, Microsoft Support will provide appropriate resolution and application workarounds for the problem. If the problem is in the operating system behavior, Microsoft Support will refer you to the operating system vendor for follow up and resolution. For supported operating systems, Microsoft Support will collaborate with the operating system support vendor to give you a commercially workable resolution.
Before you deploy SQL Server on a specific version of an operating system, check the product documentation for SQL Server and also check with the operating system vendor about support requirements for the whole solution that you're building to make sure that the different components that are involved are compatible and supported.
Please contact the operating system vendor about the support policies that apply to the additional support policies for virtualization, storage, and hardware layers.
Microsoft will support using official container images that are published by Microsoft to the various container repositories. If you use SQL Server container images from other contributors, Microsoft Support might request that you reproduce the problem on the official container image. This step might be necessary to exclude the possibility that customizations or modifications to the private container image are contributing to the problem. If the problem is isolated to container engine behavior, you must work with the vendor of the container engine to address the problem.
Microsoft might be unable to provide technical support if you use an unsupported feature or use a feature in an unsupported or undocumented manner.
SQL Server in Azure
If you deployed SQL Server on a virtual machine in Azure, the support policies for Azure apply when you troubleshoot problems. You can review the Azure support policy here. Also, see the Azure policies for endorsed distributions and support.
If you deploy SQL Server on other cloud solutions or platforms, check with the cloud solution provider about their specific policies that govern production or commercial support.
Product life cycle
SQL Server follows the fixed life cycle policy for obtaining support and updates. See the Microsoft Lifecycle Policy webpage for the life cycle and stage (mainstream, extended, and out-of-support) for each product version.
Service Packs are released for SQL Server through version 2016. Support ends 12 months after the next service pack releases or at the end of the product's support life cycle, whichever comes first. For more information, please see the service pack policy.
No service packs will be released starting from SQL Server 2017. For more information, see SQL Server Service Packs are discontinued starting from SQL Server 2017.
For releases that start at SQL Server 2017, we recommend that you apply the latest cumulative update (or a CU that was released during the past year) for the corresponding release. The support team might require you to apply a specific CU that addresses a specific problem when you troubleshoot an issue.
Operating systems follow their own life cycles. Contact the system vendor about the applicable life cycle timeframe and supported versions.
Obtain support from Microsoft
There are many channels through which you can obtain support for SQL Server. If you encounter a problem that affects an on-premises deployment of SQL Server, you can review support options for business users to obtain assisted support from the Support team. If you deployed SQL Server in an Azure cloud environment, you can submit support requests from the “Help + Support” blade of the Azure management portal.
You can also submit your problem report or product suggestion to the Connect site.
Additionally, you can engage with the SQL Server engineering team by using the following options:
Obtain support from Linux operating system vendors
If the technical problem that you experience doesn't exist in the SQL Server product but does occur in the operating system, you can work directly with the operating system vendor to troubleshoot the problem. You can contact the support teams of the operating system vendors by using the following channels: