Dirty Reads in SQL Server AlwaysOn

Ich habe ein Paar SQL Server 2014-Datenbanken als synchrone AlwaysOn-Verfügbarkeitsgruppe eingerichtet.

eide Server sind auf das @ gesetSynchronous commit Verfügbarkeitsmodus mit einem Sitzungszeitlimit von 50 Sekunden. Die Sekundärseite ist auf ein @ gesetzRead-intent only lesbare sekundäre.

Wenn ich auf die primäre schreibe und dann sofort von der sekundären lese (überApplicationIntent=ReadOnly) Ich lese konsistent schmutzige Daten (d. H. Den Zustand vor dem Schreiben). Wenn ich zwischen Schreiben und Lesen ungefähr eine Sekunde warte, erhalte ich die richtigen Daten.

Ist dieses Verhalten zu erwarten? Wenn ja, kann ich etwas tun, um sicherzustellen, dass die Lesevorgänge auf der Sekundärseite auf dem neuesten Stand sind?

Ich möchte die sekundäre Version als schreibgeschützte Version der primären Version (sowie als Failover) verwenden, um die Belastung der primären Version zu verringern.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage