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容器部署的支持。
指南
- SQL Server 容器 OS 必须与容器主机 OS 在分发和主要版本方面匹配。
- 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 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产品(例如 Azure Arc for Data Services、Azure SQL Edge 等)中使用 SQL 容器自定义。
支持的配置示例:
从 MCR 下载 SQL 容器映像,然后使用 dockerfile 添加 Polybase、MSDTC 等功能。支持这些更改或类似的更改来帮助创建自定义 SQL 容器映像。
还可以在受支持的 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 支持策略中的支持策略和要求。
为Linux 上的 SQL Server设置高可用性解决方案时,请查看特定于高可用性的 OS 供应商的支持策略。 生产环境需要隔离代理(如 STONITH),以实现高可用性。 Linux 群集使用隔离将群集返回到某个已知状态。 配置隔离的正确方式取决于分发和环境。 目前,在某些云环境中无法使用隔离。 有关详细信息,请参阅以下 OS 供应商策略和建议:
有关Linux 上的 SQL Server中支持的高可用性解决方案,请参阅业务连续性和数据库恢复 - Linux 上的 SQL Server。
不支持的功能
可以在 Linux 上的 SQL Server 2017 发行说明中的不支持的功能和服务部分找到当前 SQL Server 功能列表。 如果尝试使用注释中列出的组件或功能,则可能会遇到意外的症状和错误。 对应用程序或解决方案使用功能的组合时,请确保将功能之间的互操作性记录为受支持。 有关指南,请参阅 AlwaysOn 可用性组:互操作性(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 的加载项,在固定生命周期策略下受到管理。
Service Pack 通过版本 2016 为 SQL Server 发布。 支持将在下一个 Service Pack 版本或产品支持生命周期结束时(以第一个为准)结束 12 个月。 有关详细信息,请参阅 固定生命周期策略。
从 SQL Server 2017 开始,不会发布任何 Service Pack。 有关详细信息,请参阅 从 SQL Server 2017 开始停止使用 SQL Server Service Pack。
对于从 SQL Server 2017 开始的版本,建议对相应版本应用最新的累积更新(或过去一年发布的 CU)。 支持团队可能要求应用特定 CU 来解决问题时解决特定问题。
操作系统遵循自己的生命周期。 请与系统供应商联系,了解适用的生命周期时间范围和支持的版本。
从Microsoft获取支持
可以通过许多通道获取对 SQL Server 的支持。 如果遇到影响 SQL Server 本地部署的问题,可以查看 业务用户的 支持选项,以获取支持团队的辅助支持。 如果在 Azure 云环境中部署了 SQL Server,则可以在 Azure 管理门户中从 帮助 + 支持 提交支持请求。
还可以将问题报告或产品建议提交到 Connect 站点。
此外,还可以使用以下选项与 SQL Server 工程团队联系:
Stack Exchange (标记 sql-server) - 数据库管理问题
Microsoft问答 - 技术问题
Reddit - 讨论 SQL Server
从 Linux 操作系统供应商获取支持
如果 SQL Server 产品中不存在你遇到的技术问题,但确实在操作系统中出现,则可以直接与操作系统供应商合作来解决问题。 可以使用以下渠道联系操作系统供应商的支持团队:
从基于 SQL Server 的 PaaS 和 IaaS 云供应商获取支持
如果你遇到的技术问题存在于第三方云平台即服务(PaaS)或基础结构即服务(IaaS)产品/服务中,请直接与解决方案供应商合作来解决问题。 例如:
- Amazon RDS (Amazon Web Services)
- Microsoft AWS 上的 SQL Server (Amazon Web Services)
- 有关详细信息,请参阅 Microsoft常见问题解答 - Amazon Web Services (AWS)
- 云 SQL:适用于 PostgreSQL、MySQL 和 SQL Server (Google Cloud)
第三方信息免责声明
第三方信息免责声明
本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。