Microsoft SQL Server 的技术支持策略

注意

本文中引用的 CentOS 是 Linux 发行版, (EOL) 将达到生命周期结束。 相应地考虑使用和计划。 有关详细信息,请参阅 CentOS 生命周期终止指南

本文介绍Microsoft SQL Server 的支持策略。

原始产品版本: Linux 上的 SQL Server 2017 (所有版本) ,Windows 上的 SQL Server 2017 (所有版本)
原始 KB 编号: 4047326

摘要

本文介绍安装在受支持平台上的 SQL Server 产品的支持策略和故障排除边界。

支持的操作系统

根据 SQL Server 的版本,可以在受支持的 Windows 或 Linux 操作系统上安装 SQL Server。

本文档概述了测试和验证产品的特定操作系统。 在较新的 Windows 操作系统上安装旧版 SQL Server 时,必须使用受支持的 Service Pack。

从 SQL Server 2017 开始,可以在 Linux 操作系统上安装 SQL Server。 Linux 上的 SQL Server 安装指南 概述了可安装和配置 SQL Server 以供生产使用的受支持 Linux 操作系统的当前列表。

从 SQL Server 2019 开始,可以在 Kubernetes 上部署 SQL Server 大数据群集。 在 SQL Server 2019 大数据群集发行说明 中的 “可支持性 ”部分下查看支持的 Kubernetes 主机 OS。

支持的硬件

基于 x64 的 (AMD 和 Intel) 处理器支持 SQL Server 安装。 基于 x86 的处理器不再支持它们。 有关最新信息,请参阅 SQL Server 2016 和 2017:硬件和软件要求

支持的虚拟化技术

Microsoft支持在虚拟化技术上部署 SQL Server,包括Microsoft Hyper-V 和其他通过服务器虚拟化验证计划 (SVVP) 认证的虚拟机监控程序。 有关 SVVP 的详细信息,请参阅 Windows Server 虚拟化验证计划

如果在 Hyper-V 上托管 Linux 虚拟机,请确保 Hyper-V 上有 Linux 虚拟机。 Microsoft支持在 Azure 虚拟机、Amazon EC2 和 Google Cloud 等云基础结构服务上安装 SQL Server。

主机操作系统供应商为其系统发布受支持的虚拟机监控程序。 以下列表包括一些示例:

查看操作系统文档,了解特定操作系统版本支持的当前和更新的虚拟机监控程序。

Microsoft还支持在 VMware vSphere 上部署 SQL Server,允许用户利用软件定义的数据中心 (SDDC) 平台和功能,例如网络和存储虚拟化。 若要详细了解如何使用 vSphere 以最佳方式部署 SQL Server,包括调整 SQL Server VM 大小和管理 vCenter Server 配置,请参阅 在 VMware vSphere 上构建Microsoft SQL Server

Azure VMware 解决方案 是Microsoft的第一方解决方案,它允许客户在 Azure 上本机运行 VMware 工作负载,还支持在本地 VMware 上运行的同一 vSphere 基础结构上运行 SQL Server 部署。

在 Linux 容器中运行的 SQL Server

本部分介绍 Linux 容器中运行的 SQL Server 的支持策略和支持的配置。

SQL Server 是在 Linux 容器的用户空间中运行的应用程序。 SQL Server 及其在 SQL Server 容器中的依赖项对基础主机操作系统及其内核进行调用。 不同的 Linux 操作系统附带不同的用户空间应用程序和 Linux 内核集,这些应用程序和 Linux 内核与 SQL Server 结合使用经过了充分测试。 虽然可以在未经测试或不受支持的容器和主机组合配置中运行 SQL Server,但Microsoft不建议这样做。 我们仅支持使用以下准则的配置。 这些准则规定了运行 SQL Server Linux 容器时经过充分测试和支持的配置。

以下准则和示例适用于 Linux 上的 SQL Server 容器部署支持。

准则

  1. SQL Server 容器 OS 在分发版和主版本方面必须与容器主机 OS 匹配。
  2. Linux 上的 SQL Server 容器部署支持与在非容器化工作负荷中运行的 Linux 上的 SQL Server 相同的受支持平台集。 有关详细信息,请参阅 Linux 上的 SQL Server 安装指南
  • 支持的配置示例

    • Red Hat 7.x 主机上运行的 Red Hat 7.x 容器上的 SQL Server 2019
    • Ubuntu 16.04 主机上运行的 Ubuntu 16.04 容器上的 SQL Server 2017
    • SLES 12.x 主机上运行的 SLES 12.x 容器上的 SQL Server 2017
    • 在 Windows 操作系统上托管的 Ubuntu 16.04 虚拟机上运行的 Ubuntu 16.04 容器上的 SQL Server 2017
  • 不受支持的配置示例

    • 在 Ubuntu 容器主机上运行的 Red Hat 7.6 容器上的 SQL Server 2017

    • 容器和主机之间不匹配的 Linux OS 分发版

    • Ubuntu 18.04 主机上运行的 Ubuntu 16.04 容器上的 SQL Server 2017

    • 容器和主机之间不匹配的 Linux OS 版本

    • CentOS 容器主机上 CentOS 容器上的 SQL Server 2017 (CentOS 不是 Linux 上的 SQL Server 支持的 Linux OS 分发版。Microsoft将仅解决在受支持的配置上可重现的问题。)

适用于 SQL Server 2017 的 Linux 容器映像在容器注册表上可用。 可以在典型的 DevOps、CI/CD 管道或生产部署方案中使用 Linux 映像。 有关详细信息,请参阅 容器部署的文档页

有关操作系统供应商如何支持容器和主机操作系统中的组件的详细信息,请参阅以下渠道:

在 Windows 容器中运行的 SQL Server

Windows 容器中的 SQL Server 部署不受支持。 对于开发和测试,请创建自己的自定义容器映像以在 Windows 容器中使用 SQL Server。 GitHub 上提供了示例文件,但仅供参考。

在容器业务流程协调程序上运行的 SQL Server 容器

Microsoft支持使用 OpenShift 和 Kubernetes 部署和管理 SQL Server 容器。

从 SQL Server 2019 开始,可以在 Kubernetes 上部署 SQL Server 大数据群集。 在 SQL Server 2019 大数据群集发行说明“可支持性”部分下查看支持的 Kubernetes 平台

自定义 SQL Server 容器

在从 MCR (容器注册表) 下载的 SQL Server 基础容器的基础上自定义时,支持创建自定义 SQL Server Linux 容器,并确保不修改 SQL directories/binaries/licenses 位于 以下位置的 和 /opt/mssql/*/usr/share/doc/*,错误地修改这些容器可能会导致 SQL Server 进程无法启动。

还可以从头开始生成自己的 SQL Server 容器映像,因为用于生成自定义 SQL Server 容器映像的 Linux OS 容器的基础映像与 Linux 上 SQL Server 支持的平台 匹配,并且你遵循上述准则。

在故障排除过程中,如果自定义容器存在 SQL Server 启动问题或其他 SQL Server 异常/错误,Microsoft可能需要卸载自定义项或添加特定工具或包来帮助排查和复制问题。 如果在删除自定义项后未出现问题,则Microsoft将不支持自定义或自定义脚本。

不支持在使用 SQL Linux 容器的其他Microsoft产品中使用 SQL 容器自定义,例如 Azure Arc for Data Services、Azure SQL Edge 等,

  • 支持的配置示例:

    1. 从 MCR 下载 SQL 容器映像,然后使用 dockerfile 添加 Polybase、MSDTC 等功能。支持这些更改或类似更改,以帮助创建自己的自定义 SQL 容器映像。

    2. 还可以基于受支持的 Linux OS 平台(如 RHEL 8.2 UBI 容器映像或 SLES 12 基础映像)生成自定义 SQL Server 2019 容器映像。

  • 不支持的配置示例:

    尝试在 受支持的 平台文档中未提及的任何 Linux 平台上生成自定义映像。

支持的文件系统

如果在 Windows 上安装 SQL Server,则支持的文件系统为 NTFS 和 ReFS。 这适用于存储数据库文件和程序二进制文件的卷。

如果在 Linux 上安装 SQL Server,则托管数据库文件的卷支持的文件系统是 EXT4 和 XFS。

支持的高可用性解决方案

为 Windows 上的 SQL Server 设置高可用性解决方案时,请参阅 Microsoft SQL Server 支持策略中的Microsoft群集AlwaysOn 可用性组的先决条件、限制和建议中的支持策略和要求。

为 Linux 上的 SQL Server 设置高可用性解决方案时,请查看特定于高可用性的 OS 供应商的支持策略。 生产环境需要隔离代理(如 STONITH)以实现高可用性。 Linux 群集使用隔离将群集返回到已知状态。 配置隔离的正确方式取决于分布和环境。 目前,隔离在某些云环境中不可用。 有关详细信息,请参阅以下 OS 供应商策略和建议:

有关 Linux 上的 SQL Server 中支持的高可用性解决方案,请参阅 业务连续性和数据库恢复 - Linux 上的 SQL Server

不支持的功能

可以在 Linux 上的 SQL Server 2017 发行说明中的不支持的功能和服务部分找到当前不支持的 SQL Server 功能列表。 如果尝试使用注释中列出的不受支持的组件或功能,可能会遇到意外的症状和错误。 将功能组合用于应用程序或解决方案时,请确保功能之间的互操作性记录为受支持。 有关指导,请参阅 Always On 可用性组: (SQL Server) 的互操作性

支持策略

Microsoft根据产品文档为在支持的操作系统、文件系统、虚拟机监控程序和硬件体系结构上部署的 SQL Server 组件提供技术支持和产品修补程序。 Microsoft可能为部署在不支持的操作系统、文件系统、虚拟机监控程序和硬件平台上的 SQL Server 软件组件提供有限或无技术支持。

如果在不支持的操作系统、文件系统或虚拟机监控程序上部署 SQL Server,可能会遇到无法解释的行为和结果。 排查此类问题时,Microsoft支持团队可能会要求你在受支持的操作系统、文件系统、虚拟机监控程序和硬件体系结构组合上重现问题。 在这些情况下,如果问题仅在操作系统、文件系统、虚拟机监控程序或体系结构不受支持的组合中出现,Microsoft可能无法提供支持或解决问题。

排查使用 SQL Server 构建的解决方案或应用程序时出现的问题时,Microsoft支持部门会尝试将问题的原因与特定的软件或硬件层源隔离。 问题可能出在 SQL Server 软件或 SQL Server 与之交互的操作系统组件中。 如果问题出在 SQL Server 中,Microsoft支持部门将为该问题提供适当的解决方法和应用程序解决方法。 如果问题出在操作系统行为上,Microsoft支持部门将你转介给操作系统供应商进行跟进和解决。 对于支持的操作系统,Microsoft支持部门将与操作系统支持供应商协作,为你提供商业可行的解决方案。

在操作系统的特定版本上部署 SQL Server 之前,请查看 SQL Server 的产品文档,并与操作系统供应商核实你正在构建的整个解决方案的支持要求,以确保所涉及的不同组件兼容和支持。 请与操作系统供应商联系,了解适用于虚拟化、存储和硬件层的其他支持策略的支持策略。

Microsoft将支持使用由Microsoft发布到各个容器存储库的官方容器映像。 如果使用来自其他参与者的 SQL Server 容器映像,Microsoft支持人员可能会要求在官方容器映像上重现问题。 若要排除对专用容器映像的自定义或修改导致此问题的可能性,可能需要执行此步骤。

如果问题与容器引擎行为隔离,则必须与容器引擎的供应商合作来解决问题。

如果使用不受支持的功能,或者以不受支持的或未记录的方式使用某个功能,Microsoft可能无法提供技术支持。

Azure 中的 SQL Server

如果在 Azure 中的虚拟机上部署了 SQL Server,则排查问题时,Azure 的支持策略适用。 请参阅 Azure 上认可的 Linux 分发版

如果在其他云解决方案或平台上部署 SQL Server,请与云解决方案提供商核实其控制生产或商业支持的特定策略。

产品生命周期

SQL Server 遵循固定生命周期策略来获取支持和更新。 请参阅 搜索产品和服务生命周期信息 ,了解每个产品版本的生命周期和阶段 (主流、扩展和不支持外) 。 大数据群集是 SQL Server 2019 的加载项,在固定生命周期策略下按此类方式进行治理。

服务包在版本 2016 年发布,适用于 SQL Server。 支持在下一个 Service Pack 发布后 12 个月或产品支持生命周期结束时(以先到者为准)结束。 有关详细信息,请参阅 固定生命周期策略

从 SQL Server 2017 开始,不会发布任何服务包。 有关详细信息,请参阅 从 SQL Server 2017 开始停止使用 SQL Server Service Pack

对于从 SQL Server 2017 开始的版本,建议对相应版本应用最新的累积更新 (或过去一年发布的 CU) 。 在对问题进行故障排除时,支持团队可能要求应用特定 CU 来解决特定问题。

操作系统遵循自己的生命周期。 请与系统供应商联系,了解适用的生命周期时间和受支持的版本。

从Microsoft获取支持

可通过许多通道获取对 SQL Server 的支持。 如果遇到影响 SQL Server 本地部署的问题,可以查看 业务用户的支持选项 ,以便从支持团队获得协助支持。 如果在 Azure 云环境中部署了 SQL Server,可以从 Azure 管理门户中的 “帮助 + 支持”提交支持 请求。

还可以将问题报告或产品建议提交到 Connect 站点

此外,还可以使用以下选项与 SQL Server 工程团队联系:

从 Linux 操作系统供应商获得支持

如果遇到的技术问题不存在于 SQL Server 产品中,但确实发生在操作系统中,则可以直接与操作系统供应商合作来排查该问题。 可以使用以下渠道联系操作系统供应商的支持团队:

从基于 SQL Server 的 PaaS 和 IaaS 云供应商获得支持

如果你遇到的技术问题存在于第三方云平台即服务 (PaaS) 或基础结构即服务 (IaaS) 产品/服务中,请直接与解决方案供应商合作来解决问题。 例如:

第三方信息免责声明

第三方信息免责声明

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。