First published on MSDN on May 24, 2017
AlwaysOn has become a major SQL Server technology. In my own process of learning it, I have often wondered what this mysterious message means.
DbMgrPartnerCommitPolicy::SetSyncState: 00000026BD96D330:4
In SQL Server 2016 and later second parameter is now the GUID, instead of a memory address.
DbMgrPartnerCommitPolicy::SetSyncAndRecoveryPoint: 454AC67E-264A-4958-AD48-ACDC6C292244:4
Decoding it may help others out there settle the fear of the unknown.
- This message indicates the Synchronization state of an AlwaysOn partner: thus the " DbMgrPartnerCommitPolicy::SetSyncState"
- The long pointer-formatted hexadecimal number after the colon (:) is a pointer (memory address) to one of the AlwaysOn partners. In the example above the value is 00000026BD96D330.
Prior to 2016, this address didn't provide information on which replica partner it is. It is a memory address, so it is not particularly useful. Since SQL Server 2016, the GUID in the message is the Replica GUID that you can find in DMVs like sys.dm_hadr_database_replica_states. - The last component is the integer value at the end (the one following the second colon). In this case the number is 4.
Here are the possible states:
State Id | Description |
0 | Not Joined to AG |
1 | Not Synchronized |
2 | Suspended |
4 | Synchronized |
8 | Redo (redoing log) |
Knowing all this, this message provides a value, but I prefer to look at the text message in the SQL Server Errorlog. Those messages provide human-readable information that is more readily accessible to the user and allow for a smooth, albeit patience-filled examination of the sequence of events.
Examples of such messages include:
The availability group 'AG1' is being asked to stop the lease renewal because the availability group is going offline. This is an informational message only. No user action is required.
The availability group database "AG1" is changing roles from "PRIMARY" to "RESOLVING" because the mirroring session or availability group failed over due to role synchronization. This is an informational message only. No user action is required.
AlwaysOn Availability Groups connection with secondary database terminated for primary database 'AG1' on the availability replica 'SERVER1\INSTA' with Replica ID: {80167511-8000-3687-adb4-6d7fe62faddD}. This is an informational message only. No user action is required.
Updated Jan 09, 2025
Version 5.0Joseph_Pilov
Microsoft
Joined October 22, 2018
SQL Server Support Blog
Follow this blog board to get notified when there's new activity