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 故障转移群集实例依赖项
在此关系图中,请注意以下事项:
- 群集磁盘 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 故障转移实例依赖项
在此关系图中,请注意以下事项:
- 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 故障转移实例依赖项
在此关系图中,请注意以下事项:
- 群集磁盘 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 2008 中添加依赖项
- 如何在 SQL Server 2008 R2 中添加依赖项
- 如何在 SQL Server 2012 中添加依赖项
- 如何将依赖项添加到 SQL Server 2016 或更高版本的 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 (所有版本)