I have a question regarding transaction log (let’s just call it LDF for short) contents. I am assuming a database with full recovery model.
I have read that LDF file contains (logs) each and every operation to the database (that is in full recovery mode). How is it different from logging during BEGIN TRAN; COMMAND(s); COMMIT? I am asking because apparently you can roll back transactions, but you cannot roll back standard commands (in full recovery mode). So I guess that during transaction the contents being logged into the LDF file are different than in regular full recovery logging. Is that right? How is it different? Is it only the inclusion of “undo” operations for each action?
And on related note I have heard that there are commercial tools to “rollback/undo” standard queries using full recovery LDF file. How do they do it? Do they analyze the LDF contents and try to come-up with inverse/undo operations?
Any help would be appreciated.
Originally my question was a little broader, but someone closed it as apparently it was too broad. However it might help to explain what I want to ask so I post a link here if somebody would be interested. I will ask the remaining points in separate question.
SQL Server Full Recovery Mode - rollback last action without transaction?
Thanks guys.
