PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchIf read-only connections are not spreading across your SQL Server Always On availability group (AG) secondaries, check the primary replica’s READ_ONLY_ROUTING_LIST. The replicas meant to share incoming connections must be grouped with nested parentheses, such as (('Secondary1','Secondary2'), 'Secondary3'). The nested group is the load-balanced set; the remaining entry is a fallback. A flat list specifies routing order, not that load-balanced group.
Why aren’t my AG secondaries load balancing?
Read-only routing and load balancing are related but separate configuration steps. A readable secondary does not automatically receive application traffic: clients must connect through the AG listener and request read-only intent, and the current primary must have a routing list that identifies eligible destinations.
As an Amazon Associate I earn from qualifying purchases.
Microsoft documents load balancing read-intent requests across readable secondary replicas beginning with SQL Server 2016 (13.x). Its CREATE AVAILABILITY GROUP documentation describes the nested-parentheses syntax. This balances qualifying connection requests across the configured group—not individual queries or guaranteed CPU, throughput, or work volume.
How to configure read-only routing and its load-balanced group
Read-only routing has two pieces: a routing URL on each replica that can receive routed connections, and a routing list on each replica that may become primary. Microsoft recommends setting the URL before configuring the routing list. See the read-only routing configuration guidance for the full procedure and version-specific syntax.
#1 Best Overall
1. Set routing URLs on eligible destinations
Configure READ_ONLY_ROUTING_URL for each replica intended to receive routed connections. The URL is effective when that replica is in the secondary role. Include only replicas that can host readable secondaries and have the required URL configured.
2. Set a routing list for every possible primary
Configure READ_ONLY_ROUTING_LIST for each replica that may act as primary. The list controls where read-intent connections go while that replica is primary. If the local replica is included as a fallback, Microsoft recommends placing it last.
Rank #2
3. Nest the replicas that should share connections
Put replicas intended to receive a load-balanced share inside one nested group. For example, in (('Secondary1','Secondary2'), 'Secondary3'), the first two replicas form the group; the ungrouped replica is a fallback in routing-list order. A simple flat list does not mark a load-balanced group.
Verify the whole client-to-secondary path
Work through these checks before treating uneven application behavior as a load-balancing defect:
Rank #3
- Confirm the AG has a listener and at least one secondary configured to accept read-only connections.
- Check each destination’s
READ_ONLY_ROUTING_URLand each possible primary’sREAD_ONLY_ROUTING_LIST. Confirm the intended load-balanced replicas are grouped with nested parentheses. - Confirm the client uses TCP, connects to the AG listener, names a database in the AG, and sets
ApplicationIntent=ReadOnly. Verify that the client provider supports this property. Microsoft recommendsMultiSubnetFailover=True; for distributed network name listeners, its troubleshooting guidance specifically calls out provider support for that option. - Verify that the primary’s routing list contains only instances hosting readable secondaries. Check replica access settings, routing URLs, and listener state if routing still fails.
Microsoft’s Always On configuration troubleshooting guidance includes this query for replica properties:
SELECT replica_id,
replica_server_name,
secondary_role_allow_connections_desc,
read_only_routing_url
FROM sys.availability_replicas;
To inspect the configured routing list, query sys.availability_read_only_routing_lists. These catalog checks can reveal configuration mismatches; they do not verify what intent a client sent or prove that connections are evenly distributed.
Rank #4
What load balancing does—and does not—promise
Microsoft describes read-scale forwarding in round-robin terms, while the routing syntax identifies a load-balanced group. The relevant unit is the qualifying read-intent connection request. Do not infer from that behavior that queries, CPU usage, throughput, or total work will be divided equally: routing configuration alone makes no such guarantee.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →For background on read-scale workloads and readable secondary behavior, see Microsoft’s readable secondary replicas documentation.
Quick Recap
Best Value
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




