- 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
- Category
- High Availability
- Last reviewed
- 24 October 2026
On this page
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; 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; 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; 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; 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-onlyCompare 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 sideMake 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 configurationIf 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';
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
- Change the session-timeout period for an availability replica
- The database mirroring endpoint
- Lease, cluster and health check timeouts for availability groups
- sys.dm_hadr_availability_replica_states (Transact-SQL)
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.