我想討論一下SQL Server的事務日誌,我搜索了一下,發現了一些完成的產品,例如Lumigent Log Explorer。但我仍然對此感興趣。閱讀SQL Server事務日誌的方法
方法我已知: 1.Read直接從物理日誌文件 2.使用數據庫命令/查詢,DBCC LOG或通過fn_dblog
問題/難題: 1.登錄文件結構是很難反向工程。 2.當我做很多INSERT時,fn_dblog沒有全部,例如,當我插入50000記錄時,fn_dblog只有29616個LOP_INSERT_ROWS記錄,這意味着20384條記錄被截斷了?我不知道內部邏輯關於fn_dblog,有人可以解釋它嗎?fn_dblog是否有限制?
很高興聽到一些有關SQL Server事務日誌的研究。
被您可以在單個語句或50,000個單獨的語句中插入50,000行。如果是單獨的,它仍然在一個交易中?你的數據庫還有哪些恢復模式,並且它是否曾經備份過? (也許你的日誌目前處於自動截斷模式) –
fn_dblog()是一個未公開的函數,使用這個函數的方法太長了,而且函數也沒有以可讀的格式顯示信息。所以最好使用像SysTools SQL Log Analyzer這樣的第三方工具,請看這裏:http://www.systoolsgroup.com/sql-log-analyzer.html –