在 SQL Server 可用性组的上下文中,监视文件共享见证的可访问性的最佳方法是什么?
我想确保可用性组副本可以访问见证,这与仅可用不同。例如,用于运行 SQL Server 的帐户需要对文件共享的访问权限。
编辑:我最近注意到集群记录的一些值得监控的事件。
Log Name: System
Source: Microsoft-Windows-FailoverClustering
Date: 6/1/2019 1:23:09 PM
Event ID: 1564
Task Category: File Share Witness Resource
Level: Critical
Keywords:
User: SYSTEM
Computer: node1.contoso.com
Description:
File share witness resource 'File Share Witness' failed to arbitrate for
the file share '\\servername\sharename'. Please ensure that file share
'\\servername\sharename' exists and is accessible by the cluster.
Log Name: System
Source: Microsoft-Windows-FailoverClustering
Date: 6/1/2019 1:23:08 PM
Event ID: 1562
Task Category: File Share Witness Resource
Level: Warning
Keywords:
User: SYSTEM
Computer: node1.contoso.com
Description:
File share witness resource 'File Share Witness' failed a periodic health
check on file share '\\servername\sharename'. Please ensure that file
share '\\servername\sharename' exists and is accessible by the cluster.
SQL Server 服务帐户不需要访问文件共享见证。Windows Server 故障转移群集群集使用 FSW 来实现仲裁并避免脑裂情况。集群机器帐户是需要访问 FSW 的 AD 主体,如果它没有访问权限,您将无法将其设置为集群中的见证人。
从可用性组的角度来看,它不关心对 FSW 的访问。集群关心这一点,当它失败(并且仲裁丢失)时,它会向 AG 发出关闭信号以避免脑裂。AG 只关心 SQL Server 特定的健康检查(延迟、与副本的连接等)以及从 WSFC 集群接收到的关于集群健康的信号。
如果集群 CNO 失去对 FSW 共享的权限,则该资源将在集群中脱机。这不一定会触发集群中的任何操作,但应该在您可以监控的 Windows 事件日志中记录警报和事件。