Database Reference
In-Depth Information
Figure 31-5. Synchronous Database Mirroring
Let me reiterate that synchronous database mirroring only guarantees that there will be no data loss when
both servers are online and mirroring is up to date. If, for example, the mirror server goes offline, the principal
server continues to run and commit transactions keeping database mirroring in SUSPENDED state. It is building a
send queue of the log records, which needs to be sent to the mirror server when it comes back online. If something
happened with the principal server at this point, the data modifications since the time when the mirror server
disconnected could be lost.
When the mirror server comes back online, mirroring switches to SYNCHRONIZING state and the principal
server starts sending log records from the send queue to the mirror server. Data loss is still possible at this point. Only
after all log records were sent to the mirror server does mirroring switch to a SYNCHRONIZED state, which guarantees
that no data loss will occur in synchronous mirroring mode.
As you can see in Figure 30-5, steps 2, 4, 5, and 6 introduce extra latency, which depends on network and mirror
server I/O performance. In some heavily loaded OLTP systems, that latency is unacceptable. You can avoid it by using
asynchronous database mirroring, which is also called High Performance mode. In this mode, the principal server
sends log records to the mirror server, and it does not wait for acknowledgement before committing transactions,
as illustrated in Figure 31-6 .
 
Search WWH ::




Custom Search