创建可用性组时出现 41131 错误
本文提供有关在 Microsoft sql Server 中创建可用性组时出现错误 41131 的问题的解决方案。
原始产品版本:SQL Server
原始 KB 数: 2847723
现象
尝试在 Microsoft SQL Server 中创建高可用性组时,会收到以下错误消息:
Msg 41131,级别 16,状态 0,第 2 行
无法使可用性组“availability_group”联机。 操作超时。验证本地 Windows Server 故障转移群集(WSFC)节点是否处于联机状态。 然后,验证 WSFC 群集中是否存在可用性组资源。 如果问题仍然存在,可能需要删除可用性组并再次创建它。
原因
如果 [NT AUTHORITY\SYSTEM]
SQL Server 登录名中缺少帐户,或者帐户缺少创建高可用性组所需的权限,则会出现此问题。
解决方法
若要解决此问题,请使用以下一种方法:
方法 1:使用手动步骤
为
[NT AUTHORITY\SYSTEM]
托管可用性组中副本的每个 SQL Server 计算机上的帐户在 SQL Server 中创建登录名。向
[NT AUTHORITY\SYSTEM]
帐户授予以下服务器级权限:更改任何可用性组
连接 SQL
查看服务器状态
注意
请确保没有向帐户授予其他权限。
方法 2:使用脚本
若要创建
[NT AUTHORITY\SYSTEM]
帐户,请在查询窗口中运行以下语句:USE [master] GO CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS WITH DEFAULT_DATABASE=[master] GO
若要向帐户授予权限
[NT AUTHORITY\SYSTEM]
,请在查询窗口中运行以下语句:GRANT ALTER ANY AVAILABILITY GROUP TO [NT AUTHORITY\SYSTEM] GO GRANT CONNECT SQL TO [NT AUTHORITY\SYSTEM] GO GRANT VIEW SERVER STATE TO [NT AUTHORITY\SYSTEM] GO
详细信息
SQL [NT AUTHORITY\SYSTEM]
Server AlwaysOn 运行状况检测使用此帐户连接到 SQL Server 计算机并监视运行状况。 在可用性组中创建可用性组和主要副本处于联机状态时,将启动运行状况检测。 [NT AUTHORITY\SYSTEM]
如果帐户不存在或具有足够的权限,则无法启动运行状况检测,并且可用性组在创建过程中无法联机。
请确保这些权限存在于可以承载可用性组主副本的每个 SQL Server 计算机上。
注意
托管 SQL Resource.dll的资源主机监视器服务进程(RHS.exe)只能在系统帐户下运行。
有关详细信息,请参阅 排查 SQL Server Always On 环境中的自动故障转移问题。