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 故障转移群集实例依赖项

failover1

在此图中,请注意以下几点:

  • 群集磁盘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
  • (SOFTY 的 SQL 网络名称) 必需的依存关系是 IP 地址。
  • SQL Server 依赖项是群集磁盘1和名称: SOFTY
  • SQL Server 没有必需的依赖项。
  • SQL Server 代理依赖关系为 SQL Server。
  • SQL Server 代理没有必需的依赖项。

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

failover2

在此图中,请注意以下几点:

  • 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
  • (STANDALONE2008R 的 SQL 网络名称) 必需的依存关系是 IP 地址。
  • SQL Server (LOCALINSTANCE) 依存关系为群集磁盘2和名称: STANDALONE2008R
  • SQL Server (LOCALINSTANCE) 没有必需的依赖项。
  • SQL Server 代理 (LOCALINSTANCE) 依赖关系是 SQL Server (LOCALINSTANCE) 。
  • SQL Server 代理 (LOCALINSTANCE) 没有必需的依赖项。

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

failover3

在此图中,请注意以下几点:

  • 群集磁盘1没有必需的依赖项。
  • 群集磁盘4,装入点依赖项是群集磁盘1。
  • 群集磁盘4,装入点没有必需的依赖项。
  • IP 地址: xxx:xxxx:c0:xxxx:xxxx:c597:8cb0:49f2 没有必需的依赖项。
  • 名称: SOFTY 依存关系是 IP 地址: xxx:xxxx:c0:xxxx:xxxx:c597:8cb0:49f2 和 Ip 地址: xxx.xxx.xxx.88
  • (SOFTY 的 SQL 网络名称) 必需的依存关系是 IP 地址。
  • SQL Server 依赖项为名称: SOFTY、群集磁盘4、装入点和群集磁盘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 Server 以外的任何内容使用现有的 SQL 网络名称资源和 SQL IP 地址资源。 如果 SQL Server 资源与其他资源共享或设置不正确,则可能会遇到以下问题:

  • 可能会发生不预期的中断。
  • 可能会发生数据库损坏。
  • Service pack 安装可能不会成功。
  • SQL Server 安装程序可能不会成功。 如果出现这种情况,则无法安装 SQL Server 的其他实例,也不能执行日常维护。
  • SQL Server 可能无法联机。
  • 磁盘可能对 SQL Server 不可用。

其他注意事项

  • FTP with 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 的常见问题解答 (常见问题) 解决了在与 SQL Server 故障转移群集实例一起使用时,与 MSDTC (Microsoft 分布式事务处理协调器) 相关的常见问题和最佳做法,以包含当前建议和最佳做法。

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

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

PowerShell 到 "修复",此命令允许您将新的分布式事务处理协调器重命名为您选择的名称,在此示例中,将名称更改为 MSDTC。

(PowerShell) 示例:

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

适用对象

  • SQL Server 2008 标准版
  • SQL Server 2008 Enterprise
  • SQL Server 2008 开发人员
  • SQL Server 2008 R2 数据中心
  • SQL Server 2008 R2 开发人员
  • SQL Server 2008 R2 Enterprise
  • SQL Server 2008 R2 Standard
  • 适用于小型企业的 SQL Server 2008 R2 Standard Edition
  • 带有高级服务的 SQL Server 2008 R2 Express
  • SQL Server 2008 R2 工作组
  • 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 商业智能
  • SQL Server 2016 Enterprise Core
  • SQL Server 2016 企业版
  • SQL Server 2016 开发人员
  • SQL Server 2016 Standard
  • SQL Server 2017 Windows (所有版本)