One of the most common issues with Availability Group and using readable secondary replica is with Parallel REDO operations.
On your readable secondary replica, you will notice a few different types of waits commonly related to this, but in this article, I will cover just one of them PARALLEL_REDO_TRAN_TURN
PARALLEL_REDO_TRAN_TURN
This type of waits happens in readable secondary replica and it is caused by page splits or forwarded records on heap tables triggered by new inserts or updates on primary replica.
There are few ways to fix this issue
– Reduce the number of pages splits on the primary replica
– Reduce the number of forwarded records (heap tables)
– Using trace flag 3459, DBCC TRACEON (3459, -1) and disabling parallel redo
So how to monitor this?
I am using the following query:
And this is my RedoSeconds time:
With a slight adjustment, I wrap this query in form of an alert to be forwarded to my email.
Depending on your settings email may looks like following:
The last step would be to create an Agent job on the replica you want to monitor.
There are few counters you can use as alert to trigger this job, I am personally using:
“Recovery Queue”
Amount of log records in the log files of the secondary replica that have not been redone.
Leave a Reply