What is log shipping?
Log shipping is a function of Microsoft's SQL Server in which recorded changes to a database (logs) are automatically transferred to a replicate database that has been set up on a standby server. It is a powerful and useful tool for increasing database availability by maintaining a second warm database that can be populated relatively quickly for a primary database that is suddenly unavailable.
Note that the ability to move database changes from one database to another in real time is not specific to SQL Server. The log dispatch is only the implementation of the concept by Microsoft.
Log shipping is slightly different from database mirroring. It is an asynchronous movement of changes from one server to another and can occur when the changes from one primary database are pushed into multiple standby databases. If the primary database fails, the failover to the standby database must also be performed manually.
Mirroring, on the other hand, is a real-time synchronization of changes, just as the name suggests - your image in the mirror raises its hand when you lift yours, not a few minutes later! In contrast to log shipping, database failover is automated with shadowing.
So one might ask why log shipping is even necessary when mirroring is available. The short answer is cost. Mirroring can be quite expensive as it typically requires a third server in addition to the primary and standby servers and high-speed data links between the servers to ensure log copying in real time. Sending logs offers a kind of compromise between high costs and automated redundancy, but with the following restrictions:
Database failover is not automatic
The standby database cannot be edited.
There is some downtime as database administrators migrate operations to the new server.
There is still a risk of data loss if the last few minutes of data was not copied from the primary server before it was unavailable.
Log shipping is ideal for situations where 100% availability is not necessarily critical.