Configure an optimal number of checkpoint tasks using number of checkpoint tasks. Checkpointing is I/O intensive and should take into account the expected runtime performance and underlying I/O-subsystem performance. Tune number of checkpoint tasks according to the number of active databases and the ability of the I/O subsystem to handle writes. Tune the frequency of checkpoints using the configuration variable recovery interval in minutes.
Configure an optimal housekeeper wash percentage controlled by housekeeper free write percent, so that during free cycles dirty pages are written out. The default value is usually optimal.
Configure the order in which user databases should be recovered. The recovery order can be specified for all or a subset of user databases using sp_dbrecovery_order. For such databases, recovery is started in the order specified. Recovery is started in the database ID order, for databases that do not have a recovery order specified. If you need to bring databases online in the order in which they are recovered, use the strict option in sp_dbrecovery_order.
Ensure that long-running transactions are kept to a minimum. Long- running transactions hold resources and can also cause longer recovery times.
Shut down the server using polite shutdown to avoid longer recovery times.