Transaction log explained

In the field of databases in computer science, a transaction log (also transaction journal, database log, binary log or audit trail) is a history of actions executed by a database management system used to guarantee ACID properties over crashes or hardware failures. Physically, a log is a file listing changes to the database, stored in a stable storage format.

If, after a start, the database is found in an inconsistent state or not been shut down properly, the database management system reviews the database logs for uncommitted transactions and rolls back the changes made by these transactions. Additionally, all transactions that are already committed but whose changes were not yet materialized in the database are re-applied. Both are done to ensure atomicity and durability of transactions.

This term is not to be confused with other, human-readable logs that a database management system usually provides.

In database management systems, a journal is the record of data altered by a given process.[1] [2] [3] [4]

Anatomy of a general database log

A database log record is made up of:

Types of database log records

All log records include the general log attributes above, and also other attributes depending on their type (which is recorded in the Type attribute, as above).

See also

Sources

Notes and References

  1. https://msdn.microsoft.com/en-us/library/ms190925.aspx Microsoft, The Transaction Log (SQL Server)
  2. http://www.sqlshack.com/beginners-guide-sql-server-transaction-logs/ sqlshack.com, A beginner’s guide to SQL Server transaction logs, February 11, 2014 by Ivan Stankovic
  3. http://www.techrepublic.com/article/understanding-the-importance-of-transaction-logs-in-sql-server/ techrepublic.com, Understanding the importance of transaction logs in SQL Server, SQL Server transaction log maintenance, By Crowe, Chizek, November 11, 2004
  4. https://www.neurobs.com/pres_docs/html/03_presentation/07_data_reporting/01_logfiles/index.html neurobs.com, Logfiles