When you try to create a high-availability group in Microsoft SQL Server 2012, you receive the following error message:
Msg 41131, Level 16, State 0, Line 2
Failed to bring availability group 'availability_group' online. The operation timed out. Verify that the local Windows Server Failover Clustering (WSFC) node is online. Then verify that the availability group resource exists in the WSFC cluster. If the problem persists, you might need to drop the availability group and create it again.
This issue occurs if the [NT AUTHORITY\SYSTEM] account is missing from the SQL Server logon or if the account lacks the necessary permissions to create the high-availability group.
To resolve this issue, use one of the following methods.
Method 1: Use manual steps
Create a logon in SQL Server for the [NT AUTHORITY\SYSTEM] account on each SQL Server computer that hosts a replica in your availability group.
Grant the [NT AUTHORITY\SYSTEM] account the following server-level permissions:
Alter Any Availability Group
View server state
Note Make sure that no other permissions are granted to the account.
Method 2: Use script
To create the [NT AUTHORITY\SYSTEM] account, run the following in a query window:
CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
To grant the permissions to the [NT AUTHORITY\SYSTEM] account, run the following in a query window:
GRANT ALTER ANY AVAILABILITY GROUP TO [NT AUTHORITY\SYSTEM]
GRANT CONNECT SQL TO [NT AUTHORITY\SYSTEM]
GRANT VIEW SERVER STATE TO [NT AUTHORITY\SYSTEM]
The [NT AUTHORITY\SYSTEM] account is used by SQL Server AlwaysOn health detection to connect to the SQL Server computer and to monitor health. When you create an availability group, health detection is initiated when the primary replica in the availability group comes online. If the [NT AUTHORITY\SYSTEM] account does not exist or does not have sufficient permissions, health detection cannot be initiated, and the availability group cannot come online during the creation process.
Make sure that these permissions exist on each SQL Server computer that could host the primary replica of the availability group.
Note The Resource Host Monitor Service process (RHS.exe) that hosts SQL Resource.dll can be run only under a System account.
For more information, see Troubleshooting automatic failover problems in SQL Server 2012 AlwaysOn environments.