In a mirrored configuration, two SQL Server databases are used to maintain two copies of a single database in two different locations. Mirroring a database creates a relationship (database mirroring session) between the two server instances.
One of the server instances serves the database to clients (the principal server), while the other database instance acts as a backup or standby server. For example, if Server 1 is set up as the principal server and Server 2 is set up as the backup, Server 2 would automatically fill in if Server 1 went down. A third server, the Witness Server, handles automated failover.
Database mirroring involves replicating every insert, update, and delete operation on the principal database onto the secondary, mirrored database. This is accomplished by sending a stream of transaction log records to the secondary server, which applies log records to the mirrored database.
This type of configuration offers increased availability of the database and increased data protection.