When you come down to copying database from the primary to secondary system, you have two choices:
•Mirroring of databases, as explained in Database Mirroring (SQL Server). Mirroring usually requires to double Microsoft licenses for the SQL servers, as both primary and secondary SQL servers/clusters are live at the same time. Moreover, it may require an additional network hardware (switches) and possibly a separate WAN connection (to avoid the saturation of the WAN used for the production).
Mirroring potentially provides a hot secondary service. In the best case, there is no data loss when doing failover. In the worst case, there will be a minimal loss.
Unlike replication, which works at the logical level, database mirroring works at the level of the physical log record.
•Replication of databases through transaction logs. Replication doesn't require to double Microsoft licenses for the SQL servers/clusters, as the secondary server/cluster is inactive while the primary server/cluster is working. However, it may require an additional network hardware (switches) and possibly a separate WAN connection (to avoid the saturation of the WAN used for the production).
Replication provides a warm secondary service. In the best case, there is a minimal loss when doing failover, depending on the frequency of replication of transaction logs and volumes.
The failover time is in the range of 10-15 minutes, except for the full-text searches that may remain unavailable for few hours. Replication works at the logical level. .
See also