When a database is shut down during normal operation, the database server performs a checkpoint so that all the information in the database is held in the database file. This is a clean shutdown.
Each time you start a database, the database server checks whether the last shutdown was clean or the result of a system failure. If the database was not shut down cleanly, it automatically takes the following steps to recover from a system failure:
Recover to the most recent checkpoint All pages are restored to their state at the most recent checkpoint by copying the checkpoint log pages over the changes made since the checkpoint.
Apply changes made since the checkpoint Changes made between the checkpoint and the system failure, which are held in the transaction log, are applied.
Rollback uncommitted transactions Any uncommitted transactions are rolled back, using the rollback logs.