Microsoft SQL Server的技术支持策略

注意

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

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

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

摘要

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

支持的操作系统

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

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

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

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

支持的硬件

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

支持的虚拟化技术

Microsoft 支持在虚拟化技术上部署SQL Server,包括通过服务器虚拟化验证计划 (SVVP) 认证的Microsoft Hyper-V和其他虚拟机监控程序。 有关 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的安装指南
  • 支持的配置示例

    • SQL Server 2019 在 Red Hat 7.x 主机上运行的 Red Hat 7.x 容器
    • SQL Server 2017 在 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 容器

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

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

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

    • SQL Server 2017 年,CentOS 容器主机上的 CentOS 容器 (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容器。

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

自定义SQL Server容器

如果基于从 MCR (容器注册表) 下载的 SQL Server 基本容器进行自定义,以及确保不修改SQL directories/binaries/licenses位置的位置,则支持创建自定义SQL Server Linux 容器, /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 产品(例如 Azure Arc for Data Services、Azure SQL Edge 等)中使用 SQL 容器自定义。

  • 支持的配置示例:

    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 群集的 Microsoft SQL Server支持策略和针对Always On可用性组的先决条件、限制和建议中的支持策略和要求。

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

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

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

对于从 2017 SQL Server 开始的版本,建议对相应版本应用最新的累积更新 (或过去一年发布的 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 不对这些产品的性能或可靠性提供任何明示或暗示性担保。