Mirroring is a concept that is based largely on log shipping.
Log shipping relies on transaction log backups in order to keep the secondary system in sync;
thus, the secondary is always one log backup behind.
Mirroring uses the transaction log itself, thus allowing more real-time mirroring of the databases.
Mirroring also allows for automatic failover in the event of a system failure, thus requiring a witness.
The three components of a comprehensive mirroring configuration
are the principal, the mirror, and the witness, as shown in Figure 25-3.
* The principal is the server that is the source database,
* and the mirror is the target database.
* The witness is a server instance
that performs no database transactions
but instead allows for automatic failover to the mirrored server instance
when running in synchronous mode.
Source:
Microsoft SQL 2005 Administrator's Companion,
Chapter 25 - Disaster Recovery Solutions
Page 823