症状
当您尝试在 Microsoft SQL Server 2012年创建高可用性组时,您会收到以下错误消息︰
消息 41131,级别 16,状态 0,第 2 行
将可用性组availability_group联机失败。该操作已超时。请验证本地 Windows 服务器故障转移群集 (WSFC) 节点处于联机状态。然后验证 WSFC 群集中存在可用性组资源。如果问题仍然存在,您可能需要可用性组删除并重新创建它。
原因
如果 SQL Server 登录过程中找不到 [NT AUTHORITY\SYSTEM] 帐户或帐户缺少必要的权限来创建高可用性组,则会发生此问题。
解决方案
若要解决此问题,请使用下列方法之一。
方法 1︰ 使用手动步骤
-
在 SQL Server 中创建登录承载副本可用性组中的每个 SQL Server 计算机上 [NT AUTHORITY\SYSTEM] 帐户。
-
[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 Server AlwaysOn 运行状况检测使用 [NT AUTHORITY\SYSTEM] 帐户来连接到 SQL Server 计算机并监视运行状况。创建可用性组时,可用性组中的主副本变为联机时,会启动运行状况检测。如果 [NT AUTHORITY\SYSTEM] 帐户不存在或没有足够的权限,不能启动运行状况检测,并且可用性组不能联机创建过程。
要确保这些权限存在无法承载可用性组的主副本每台 SQL Server 的计算机上。
注意:资源监视器服务主机承载的进程 (RHS.exe),SQL 便可以仅在系统帐户下运行。
有关详细信息,请参阅SQL Server 2012 AlwaysOn 环境中的疑难解答自动故障切换。