Monday, 21 July 2025

Resolving Disconnected Secondary Replica or Database in Always On Availability Groups

It’s not uncommon to encounter situations where either the secondary database or the secondary replica enters a disconnected state in an Always On Availability Group (AG). This typically occurs during initial AG configurations or after events like OS/SQL patching, network issues, or failovers.

Recently, I faced a scenario where not only was the secondary database in a disconnected state, but the entire secondary replica was also marked as disconnected in the AG dashboard. As a result, the transaction log (T-log) started growing due to unsynchronized data movement.

Below are the steps I followed to troubleshoot and resolve the issue:

Steps to Resolve:

  1. Connected to both Primary and Secondary replicas via SSMS.

  2. On the Secondary node, navigated to:
    Always On High Availability > Availability Groups (AVG) > [Your AG Name]

  3. Under Availability Databases, right-clicked the affected database, then:
    Suspend Data Movement > Resume Data Movement

    Note: This did not resolve the issue.

  4. Restarted the HADR Endpoint on both replicas:


    SELECT * FROM sys.endpoints; ALTER ENDPOINT [Hadr_endpoint] STATE = STOPPED; ALTER ENDPOINT [Hadr_endpoint] STATE = STARTED;

    This also did not resolve the issue initially.

  5. Granted CONNECT permissions to the SQL Server service account (used by the secondary replica) on both nodes:


    GRANT CONNECT ON ENDPOINT::[Hadr_endpoint] TO [Domain\SQLServiceAccount];
  6. After applying the endpoint permission, I re-executed Step 4 (restarting endpoints).
    This time, the secondary replica successfully reconnected, and data synchronization resumed.



No comments:

Post a Comment