Database mirroring is a primarily software solution for increasing the probability that a database is available. Mirroring is implemented on a per database basis and works only with databases that use the full recovery model.
It is copying and distributing data and database objects from one database to another and then synchronizing between databases to maintain consistency.