原文地址:FIX: SQL Server Installer Hangs on Existing Clustered Instance “Running Discovery on Remote Machine”
原文作者:Pio Balistoy
Posted in: Microsoft SQL Server,Technical Track
Tags:Running Discovery on Remote Machine,SQL Cluster Installer hang,sql server,SQL Setup

问题
当您试图安装服务包、累积更新或运行安装程序以便在 SQL Server 集群实例上添加共享功能时,会发现安装程序只是挂起,并且在GUI上没有任何迹象的情况下,也没有进展。
此时需要检查安装日志,日志上的最后一项如下:
(01) 2022-01-14 04:54:50 Slp: Running discovery on remote machine: CLUSTERNODE02
(08) 2022-01-14 04:59:50 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionHelper(ActionWorker workerDelegate)
(08) 2022-01-14 04:59:50 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.ExecuteActionWithRetryHelper(WorkflowObject metaDb, ActionKey action, ActionMetadata actionMetadata, TextWriter statusStream)
(08) 2022-01-14 04:59:50 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
(08) 2022-01-14 04:59:50 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
(08) 2022-01-14 04:59:50 Slp: at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionEngine.RunActionQueue()
没有任何错误或延迟的提示。
原因
集群的SQL Server安装包括用于验证所有其他节点的状态和配置的检查。这需要提升的权限、远程管理配置和相关服务才能运行。某些公司会配置服务器安全策略,它可以关闭或删除这些权限和服务。这会导致检查运行很长时间。
在集群创建期间,集群管理员使用集群验证检查对此进行检查。我强烈建议以后不要更改配置/权限。
以下是有关集群配置要求的一些参考:
- Failover Clustering Overview| Microsoft Docs
- Failover Clustering Hardware Requirements and Storage Options | Microsoft Docs
- Ports used by Cluster Service
- Administrative Shares are Missing – Windows Server | Microsoft Docs
- Configure Windows Firewall – SQL Server | Microsoft Docs
应对措施
以下是要检查的最常见项目:
- 缺少管理共享 – Windows Server
- 检查群集服务使用的所有端口是否未被阻止
- 检查并确保在节点上启用了 Windows 远程管理服务。
解决方法
与SQL设置的所有规则一样,您可以选择跳过规则。要解决安装的集群检查问题,您可以指定 /SkipRules 并指定规则名称Cluster_VerifyForErrors_Instance_Name。 这将使安装程序跳过对集群的检查,并让该过程继续进行。请注意,如果运行的是SP/CU,则将是安装程序的可执行文件,而不是setup.exe,例如SQLServer2017-KB5006944-x64.exe。
注: 存在规则检查以确保服务器满足安装要求。不要跳过任何规则,除非你熟悉它们并知道你在做什么。
setup.exe /SkipRules=Cluster_VerifyForErrors_Instance_Name
我希望这篇文章有用。如果您在评论中有任何疑问,请告诉我,不要忘记在下一篇文章中注册。




