Technical support policy for Microsoft SQL Server
This article describes the support policy for Microsoft SQL Server.
Original product version: SQL Server 2017 on Linux (all editions), SQL Server 2017 on Windows (all editions)
Original KB number: 4047326
This article describes the support policies and troubleshooting boundaries for 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 SQL Server 2019 Big Data Clusters release notes.
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.
Starting in SQL Server 2017, you can install SQL Server on Linux operating systems. Installation guidance for SQL Server on Linux outlines the current list of supported Linux operating systems on which you can install and configure SQL Server for production use.
Starting from SQL Server 2019, you can deploy the SQL Server Big Data Cluster on Kubernetes. Review the supported Host OS for Kubernetes in the SQL Server 2019 Big Data Clusters release notes under the Supportability section.
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 2016 and 2017: Hardware and software requirements.
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 Linux Virtual Machines on Hyper-V. Microsoft supports SQL Server installations on cloud infrastructure services such as Azure Virtual Machine, Amazon EC2 and Google Cloud.
The host operating system vendors publish supported hypervisors for their systems. The following list includes some examples:
Look in the operating system documentation for the current and updated hypervisor that is supported on specific versions of the operating system.
SQL Server running in Linux containers
This section describes the support policies and supported configurations for 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 that are well tested in combination with SQL Server. While it is possible to run SQL Server in an untested or unsupported configuration of container and host combinations, Microsoft does not recommend that you do this. We support only configurations that use the following 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 reproducible on a supported configuration.)
The Linux container image for SQL Server 2017 is available on the 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
SQL Server deployments in Windows containers are not covered by support. For development and testing, create your own custom container images to work with SQL Server in Windows containers. Sample files are available on GitHub but are provided for reference only.
SQL Server Containers running on container orchestrators
Microsoft supports deploying and managing SQL Server containers by using OpenShift and Kubernetes.
Starting from SQL Server 2019, you can deploy the SQL Server Big Data Cluster on Kubernetes. Review the supported Kubernetes platforms in the SQL Server 2019 Big Data Clusters release notes under the Supportability section.
Customizing SQL Server Containers
Creation of custom SQL Server Linux Containers is supported when customized on top of SQL Server base containers downloaded from MCR (Container Registry), as well as ensuring that you do not modify the
SQL directories/binaries/licenses located at the locations: /opt/mssql/, /usr/share/doc/ which when incorrectly modified could result in SQL Server process not starting.
You can also build your own SQL Server container images from scratch, given that the base image of the Linux OS container used to generate the custom SQL Server container image matches the supported platforms for SQL Server on Linux and you follow the guidelines mentioned above.
As part of troubleshooting, if the customized container has SQL Server startup issues or some other SQL Server exception/error, then Microsoft can require you to uninstall the customization or add specific tools or packages to help troubleshoot and replicate the problem. If the issue does not occur after the removal of customization, then Microsoft will not support the customization or custom script.
SQL container customization is not supported for use in other Microsoft products that use SQL Linux containers such as Azure Arc for Data Services, Azure SQL Edge etc.,
Examples of supported configurations:
You download SQL Container image from MCR, and then using dockerfile you add features like Polybase, MSDTC, etc., These changes or similar changes are supported to help create your own custom SQL container image.
You can also build a custom SQL Server 2019 container image on top of a supported Linux OS platform like RHEL 8.2 UBI container image or SLES 12 base images.
Examples of unsupported configurations:
You try building a customized image on top of any Linux platform that is not mentioned in the supported platforms documentation.
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 Prerequisites, Restrictions, and Recommendations for 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:
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 Release notes for SQL Server 2017 on Linux. 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 Always On availability groups: interoperability (SQL Server).
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. 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. See Endorsed Linux distributions on Azure.
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 Search Product and Services Lifecycle Information 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 Fixed Lifecycle 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:
Stack Exchange (tag sql-server) - Database administration questions
Stack Overflow (tag sql-server) - Development questions
MSDN forums - Technical questions
Reddit - Discuss SQL Server
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:
Third-party information disclaimer
Third-party information disclaimer
The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.