Skip to content
Microsoft SQL Server

SQL Server Error 35206

A connection timeout has occurred on a previously established connection to an availability replica

Severity 10 High Availability
Applies to: SQL Server 2016 to 2025 with Always On availability groups
Last technically reviewed 24 October 2026 on SQL Server 2025 (17.0.1145.4)
The full message
A connection timeout has occurred on a previously established connection to availability replica 'SQL02' with id [4A0E6C38-1B7E-4E1F-9C3A-2F6D1E8B7A10].  Either a networking or a firewall issue exists or the availability replica has transitioned to the resolving role.
Other forms of this message
Related: the connection could not be established at all (error 35201, catalogue text)
A connection timeout has occurred while attempting to establish a connection to availability replica 'SQL02' with id [4A0E6C38-1B7E-4E1F-9C3A-2F6D1E8B7A10]. Either a networking or firewall issue exists, or the endpoint address provided for the replica is not the database mirroring endpoint of the host server instance.
Usually followed later by (error 35202, informational, catalogue text)
A connection for availability group 'SalesAg' from availability replica 'SQL01' with id  [9B1F2C44-0D3A-4C5E-8F21-7A6B5C4D3E2F] to 'SQL02' with id [4A0E6C38-1B7E-4E1F-9C3A-2F6D1E8B7A10] has been successfully established.  This is an informational message only. No user action is required.
Error number
35206
Severity
10 (informational)
State
Not documented by Microsoft (not reproduced here)
Product
Microsoft SQL Server Database Engine
Versions
SQL Server 2016 to 2025 with Always On availability groups
Last reviewed
24 October 2026

What it means

Message 35206 in the SQL Server error log means a replica stopped answering pings on an existing availability group connection for longer than the session timeout, so the connection to that replica was treated as failed.

Replicas in an availability group keep a connection open between their database mirroring endpoints and ping each other. Each replica has a session timeout (10 seconds by default). If no ping response arrives within it, the connection is declared failed and 35206 is written to the error log of the replica that noticed it, naming the other replica and its id. While the connection is down, data movement to that secondary stops and it shows as DISCONNECTED.

Severity 10 means this is an informational log entry, not an error returned to applications. The message offers two explanations: a network or firewall problem between the servers, or the other replica changing to the RESOLVING role (for example during a failover or a cluster problem). A single entry followed by 35202 a few seconds later is a short interruption; repeated entries point at an unstable network, an overloaded server or a session timeout that is set too low.

Common causes

  • A network interruption or packet loss between the replicas, or a firewall or security appliance closing idle or long-lived connections on the endpoint port.
  • The other replica was too busy to answer in time: very high CPU, memory pressure, a memory dump being written or a virtual machine being paused or throttled.
  • The other replica changed role to RESOLVING, for example during an automatic failover, a lease timeout or loss of cluster quorum.
  • A session timeout lower than the default of 10 seconds, which Microsoft warns can make a busy system miss pings and declare a false failure.

Diagnose it

Read-only These queries only read metadata and dynamic management views. They do not change data, permissions or configuration, so they are safe to run first.

Are the replicas connected now, and what was the last connection error?

SELECT ar.replica_server_name, rs.role_desc, rs.connected_state_desc,
       rs.synchronization_health_desc, rs.last_connect_error_number,
       rs.last_connect_error_description, rs.last_connect_error_timestamp
FROM sys.availability_replicas AS ar
LEFT JOIN sys.dm_hadr_availability_replica_states AS rs ON rs.replica_id = ar.replica_id;
What to look for

CONNECTED and HEALTHY mean the interruption is over. A recent last_connect_error_timestamp with an error number and description tells you why the last attempt failed.

What session timeout does each replica use?

SELECT ag.name AS ag_name, ar.replica_server_name, ar.session_timeout,
       ar.availability_mode_desc, ar.failover_mode_desc, ar.endpoint_url
FROM sys.availability_replicas AS ar
JOIN sys.availability_groups AS ag ON ag.group_id = ar.group_id;
What to look for

A session_timeout below 10 makes false failures more likely. Check that endpoint_url uses a name and port that every replica can reach.

Is the database mirroring endpoint started, and on which port?

SELECT e.name, e.state_desc, e.role_desc, t.port, e.connection_auth_desc, e.encryption_algorithm_desc
FROM sys.database_mirroring_endpoints AS e
JOIN sys.tcp_endpoints AS t ON t.endpoint_id = e.endpoint_id;
What to look for

The endpoint must be STARTED on every replica, and the firewall must allow its port (5022 by convention) in both directions.

Did data movement stop for the databases?

SELECT DB_NAME(drs.database_id) AS database_name, ar.replica_server_name,
       drs.synchronization_state_desc, drs.is_suspended, drs.suspend_reason_desc,
       drs.log_send_queue_size, drs.redo_queue_size
FROM sys.dm_hadr_database_replica_states AS drs
JOIN sys.availability_replicas AS ar ON ar.replica_id = drs.replica_id;
What to look for

Large send or redo queues after a reconnect show how far the secondary fell behind while it was disconnected.

How to fix it

Each fix is labelled with what it changes. Try read-only checks and the least invasive fix first, and test changes outside production.

Find out what happened at the time of the message

Read-only

Compare the timestamps of 35206 with the error log and Windows event log of both replicas, the cluster log and your network monitoring. Role changes, lease timeouts or memory dumps at the same moment point at the server; nothing on either server points at the network.

Fix the network path between the endpoints

Client or network side

Make sure both replicas can reach each other on the endpoint port by name, in both directions, and that no firewall, load balancer or security appliance drops long-lived idle connections on that port. Work with the network team using the exact times from the log.

Raise a session timeout that is set too low

Changes configuration

If session_timeout is below 10 seconds, set it back to at least 10, as Microsoft recommends. Run this on the primary replica.

Caution: A longer timeout also means a really failed replica is detected later. Do not use a high value to hide a network problem.

ALTER AVAILABILITY GROUP SalesAg
MODIFY REPLICA ON N'SQL02' WITH (SESSION_TIMEOUT = 10);

Examples

Finding the entries in the error log

Shown as documented in the message catalogue; not reproduced here because it needs an availability group. The message appears in the SQL Server error log of the replica that lost the connection, not in a query window. The replica name and id are examples.

-- Search the current error log for the message
EXEC sys.xp_readerrorlog 0, 1, N'35206';
Result
A connection timeout has occurred on a previously established connection to availability replica 'SQL02' with id [4A0E6C38-1B7E-4E1F-9C3A-2F6D1E8B7A10].  Either a networking or a firewall issue exists or the availability replica has transitioned to the resolving role.

How to prevent it

Keep the session timeout at 10 seconds or more, give replica traffic a reliable network path, and exclude the endpoint port from idle connection timeouts on firewalls between the servers. Alert on connected_state_desc = DISCONNECTED and on growing send queues, so short interruptions are noticed and repeated ones are investigated before they cause a failover.

Common questions

Do applications see error 35206?

No. It is an informational error log entry (severity 10). Applications may see other errors at the same time if the primary was affected, for example 983 while the replica is resolving.

Is one 35206 entry a problem?

A single entry followed by a successful reconnect (35202) is a short interruption. Repeated entries, or entries at the same time as failovers, need investigation.

What is the difference between 35206 and 35201?

35206 is about a connection that existed and then stopped responding. 35201 means a new connection could not be established at all, which usually points at the endpoint address, port or firewall.

Learn more on CodeWithSQL

Official documentation

Last technically reviewed 24 October 2026; examples and diagnostics run on SQL Server 2025 (17.0.1145.4). Message text checked against the engine's sys.messages catalogue.

Still stuck on a SQL Server error?

Browse the full SQL Server error library, or get hands-on help from an experienced SQL professional.