I installed SQL Server 2017 on Ubuntu and setup an availability group with cluster type = "None".
I set the "Availability" Mode to "Synchronous commit" and tested it. It works fine. All transactions to primary are replicated to secondary.

I then changed the "Availability Mode" to "Asynchro" and insert a row on the primary. The row was inserted with success on the primary but did not replicate to the secondary.

I then try to pause and resume the data movement. By doing so, my insert got replicated to the secondary. I then inserted another row and once again, it did not replicate to secondary.

The Database status on secondary is "Synchronizing".

In the Extended even, I can see that the "Commit_policy_Target" is showing "DoNothing" when I would expect it to show "WaitForHarden".

Has anyone else experienced that strange behavior and found a way to fix it?

  • If it's async why would you expect it to be waitforharden? How are you testing that a "row" turns up on the secondary? How long are you waiting to test? May 22, 2019 at 18:53
  • I may be wrong in the "state" I expect... but I inserted 1 row on a sleeping server on may 22nd. It is still not replicated on the secondary (The DB is read only accessible so I simply run the same select on both node). When set to sync, it does replicate live without any delay... May 24, 2019 at 16:17


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.