Keep a history of transactions for easy rollback
SQL Server with database in FULL recovery model permits you to do a point-in-time restore.

There is no need in "Taking a checkpoint after every transaction" because of write ahead logging.

To know more about it you can read the followin article: SQL Server point in time restore


  Overview 
  
  The RESTORE ... WITH STOPAT option allows you to restore your
  database to a point in time.  This gives you the ability to restore a
  database prior to an event that occurred that was detrimental to your
  database.  In order for this option to work, the database needs to be
  either in the FULL or Bulk-Logged recovery model and you need to be
  doing transaction log backups.


And here is the official documentation:
Restore a SQL Server Database to a Point in Time (Full Recovery Model)