title: Methods of Reading SQL Server Transaction Log
body: <p>I want to discuss about the Transaction Log of SQL Server, and I searched around, found some product which is accomplished, for example, Lumigent Log Explorer. But I am still interested about it.</p>
  
  <p>Methods I known:
  1.Read directly from physical log file
  2.Using database command/query, DBCC LOG or through fn_dblog</p>
  
  <p>Problems/difficulties:
  1.Log file structure is hard to reverse engineered.
  2.When I do lots of INSERTs, the fn_dblog didn't has all of them, for example, when I INSERT 50000 records, the fn_dblog just has 29616 LOP_INSERT_ROWS records, which means 20384 records are truncated?I don't know the internal logical about fn_dblog, can someone explain it?Does the fn_dblog has limitations?</p>
  
  <p>Glad to hear some researches about SQL Server Transaction Log.</p>