SQL Server 中的 Microsoft Windows 故障转移群集资源依赖项

本文介绍 SQL Server 中的默认资源依赖项以及对这些依赖项的限制。

原始产品版本: SQL Server 2017、SQL Server 2016、SQL Server 2014、SQL Server 2012、SQL Server 2008
原始 KB 数: 835185

总结

将 SQL Server 作为 SQL Server 故障转移群集实例安装在群集上时,将创建一组依赖于群集组中其他资源的特定 SQL Server 资源。

重要

请勿更改默认依赖项树,但本文中列出的更改或Microsoft知识库中以下文章中列出的更改除外: SQL Server 对已装载文件夹的支持

示例 1 - 默认 SQL Server 故障转移群集实例依赖项

默认 SQL Server 故障转移群集实例依赖项树的关系图。

在此关系图中,请注意以下事项:

  • 群集磁盘 1 没有必需的依赖项。
  • IP 地址: xxx.xxx.xxx.xxx 没有必需的依赖项。
  • IP 地址: xxxx:xxxx:xx:xxxx:xxxx:xxxx:xxxx:xxxx 没有必需的依赖项。
  • 名称:SOFTY 依赖项是 IP 地址: xxxx:xxxx:xx:xxxx:xxxx:xxxx:xxxx:xxxx 和 IP 地址: xxx.xxx.xxx.xxx
  • SQL 网络名称(SOFTY)所需的依赖项是 IP 地址。
  • SQL Server 依赖项是群集磁盘 1 和名称: SOFTY
  • SQL Server 没有必需的依赖项。
  • SQL Server 代理依赖项是 SQL Server。
  • SQL Server 代理没有必需的依赖项。

示例 2 - SQL Server 2008 Analysis Services 故障转移实例依赖项

SQL Server 2008 Analysis Services 故障转移实例依赖项树的关系图。

在此关系图中,请注意以下事项:

  • Analysis Services (LOCALINSTANCE) 依赖项是群集磁盘 2 和名称: STANDALONE2008R
  • Analysis Services (LOCALINSTANCE) 没有必需的依赖项。
  • 群集磁盘 2 没有必需的依赖项。
  • IP 地址: xxx.xxx.xxx.xxx 没有必需的依赖项。
  • IP 地址: xxxx:xxxx:xx:xxxx:xxxx:xxxx:xxxx:xxxx 没有必需的依赖项。
  • 名称:STANDALONE2008R依赖项是 IP 地址: xxxx:xxxx:xx:xxxx:xxxx:xxxx:xxxx:xxxx 和 IP 地址: xxx.xxx.xxx.xxx
  • SQL 网络名称(STANDALONE2008R)所需的依赖项是 IP 地址。
  • SQL Server (LOCALINSTANCE) 依赖项是群集磁盘 2 和名称: STANDALONE2008R
  • SQL Server (LOCALINSTANCE)没有必需的依赖项。
  • SQL Server 代理 (LOCALINSTANCE) 依赖项是 SQL Server (LOCALINSTANCE)。
  • SQL Server 代理(LOCALINSTANCE)没有必需的依赖项。

示例 3 - 具有装入点的 SQL Server 2008 故障转移实例依赖项

SQL Server 2008 故障转移实例依赖项树与装入点的关系图。

在此关系图中,请注意以下事项:

  • 群集磁盘 1 没有必需的依赖项。
  • 群集磁盘 4,装入点依赖项为群集磁盘 1。
  • 群集磁盘 4,Mountpoint 没有必需的依赖项。
  • IP 地址: xxx:xxxx:c0:xxxx:xxxx:c597:8cb0:49f2 没有必需的依赖项。
  • 名称:SOFTY 依赖项是 IP 地址: xxx:xxxx:c0:xxxx:xxxx:c597:8cb0:49f2 和 IP 地址: xxx.xxx.xxx.88
  • SQL 网络名称(SOFTY)所需的依赖项是 IP 地址。
  • SQL Server 依赖项为 Name:SOFTY、Cluster Disk 4、Mountpoint 和 Cluster Disk 1。
  • SQL Server 没有必需的依赖项。

注意

装入点上的双重依赖关系是确保 SQL Server 在不使用物理磁盘的情况下无法启动和加载数据库。 这有助于防止数据库损坏。

SQL Server 的默认依赖项树具有以下含义:

  • SQL Server 代理资源取决于 SQL Server 资源。
  • SQL Server 资源取决于 SQL 网络名称资源、物理磁盘资源和包含数据库文件的已装载文件夹。
  • SQL 网络名称资源取决于 SQL IP 地址资源。
  • SQL IP 地址资源和物理磁盘资源不依赖于任何资源。

详细信息

有关如何将依赖项添加到 SQL Server 资源的信息,请参阅:

限制和局限

如果将任何其他资源添加到 SQL Server 组,这些资源必须始终具有自己的唯一 SQL 网络名称资源及其自己的 SQL IP 地址资源。 不要将现有的 SQL 网络名称资源和 SQL IP 地址资源用于 SQL Server 以外的任何资源。 如果 SQL Server 资源与其他资源共享或设置不正确,则可能会遇到以下问题:

  • 可能会发生意外停用。
  • 数据库损坏可能发生。
  • Service Pack 安装可能会失败。
  • SQL Server 安装程序可能会失败。 如果发生这种情况,则无法安装 SQL Server 的其他实例或执行例程维护。
  • SQL Server 可能无法联机。
  • 磁盘可能无法用于 SQL Server。

其他注意事项

  • FTP 与 SQL Server 复制:对于将 FTP 与 SQL Server 复制配合使用的 SQL Server 实例,FTP 服务必须使用安装设置为使用 FTP 服务的 SQL Server 的同一物理磁盘之一。
  • SQL Server 资源依赖项:如果将资源添加到 SQL Server 组,并且依赖于 SQL Server 资源以确保 SQL Server 可用,建议添加对SQL Server 代理资源的依赖项,而不是在 SQL Server 资源上添加依赖项。 若要确保运行 SQL Server 的计算机保持高可用性,请配置SQL Server 代理资源,以便在SQL Server 代理资源失败时不会影响 SQL Server 组。
  • 文件共享和打印机资源:SQL Server FILESTREAM 功能使用的文件共享例外。 打印机资源不应位于 SQL Server 组中。 文件共享或打印机资源需要 Windows Server 2003 故障转移群集上自己的网络名称和 IP 资源。 文件共享和打印机资源还需要自己的网络名称和 IP 资源,用于 Windows Server 2008 及更高版本的客户端接入点。 对于 Windows Server 2008 或更高版本上的故障转移群集实例,请使用“创建共享文件夹向导”为共享文件夹指定唯一的名称和其他设置。
  • 性能:在满足以下条件时,可能会降低运行 SQL Server 的计算机的性能和服务丢失:
    • 不使用 FILESTREAM 功能的文件共享群集资源安装在安装了 SQL Server 的同一物理磁盘资源上。
    • 打印机群集资源安装在安装了 SQL Server 的同一物理磁盘资源上。

MSDTC 注意事项

阅读 SQL 故障转移群集 上的 MSDTC 建议应该是任何 MSDTC 依赖项讨论的起点,以确定是否需要它。

MSDTC 建议常见问题解答(常见问题解答)解决了 MSDTC(Microsoft分布式事务处理协调器)的常见问题和最佳做法(与 SQL Server 故障转移群集实例配合使用),以包括当前建议和最佳做法。

将 MSDTC 资源添加到 SQL Server 组时,可以使用其中一个 SQL Server 磁盘或其他磁盘。 但是,要使资源正常工作且能够一致地使用 Test-DTC PowerShell cmdlet,必须使用 SQL Server 的网络名称和 IP 地址,并将 MSDTC 资源重命名为 SQL Server 的虚拟服务器名称。

从 Windows Server 2012 及更高版本开始,使用群集管理器创建新的分布式事务处理协调器时,在资源名称中别无选择,它始终是新的分布式事务处理协调器,也不能选择在群集管理器中重命名资源。

通过 PowerShell 进行救援,此命令允许将新的分布式事务处理协调器重命名为所选名称,在此示例中,名称更改为 MSDTC。

Get-ClusterResource "New Distributed Transaction Coordinator" | %{ $_.Name = MSDTC }

适用于

  • SQL Server 2008 Standard
  • SQL Server 2008 Enterprise
  • SQL Server 2008 Developer
  • SQL Server 2008 R2 Datacenter
  • SQL Server 2008 R2 Developer
  • SQL Server 2008 R2 Enterprise
  • SQL Server 2008 R2 Standard
  • SQL Server 2008 R2 Standard Edition for Small Business
  • 具有高级服务的 SQL Server 2008 R2 Express
  • SQL Server 2008 R2 Workgroup
  • SQL Server 2012 开发人员
  • SQL Server 2012 企业版
  • SQL Server 2012 Standard
  • SQL Server 2012 Enterprise Core
  • SQL Server 2014 Enterprise
  • SQL Server 2014 Enterprise Core
  • SQL Server 2014 Standard
  • SQL Server 2014 Business Intelligence
  • SQL Server 2016 Enterprise Core
  • SQL Server 2016 Enterprise
  • SQL Server 2016 Developer
  • SQL Server 2016 Standard
  • SQL Server 2017 Windows (所有版本)