二事務在不斷增大的時候如何縮小日志
當數據如在頻繁修改或者刪除的同時事務的日志就會不斷的增加甚至超過了碰盤的大小這時候就不能因此而直接刪除了事務日志的LDF文件否則可能會帶來很大的麻煩為了避免這種情況我們需要有如下的操作
()盡量避免tempdb 日志與用戶數據庫日志放在同一磁盤上tempdb 數據庫和事務日志具有足夠的空間來處理索引操作不能在索引操作完成之前截斷 tempdb 事務日志
()通過執行下列命令來縮小事務日志
DBCC SHRINKDATABASE
DBCC SHRINKFILE
操作會立即嘗試將物理日志文件收縮為所要求的大小
如果虛擬日志文件中的邏輯日志未超出 target_size 標記則釋放 target_size 標記之後的虛擬日志文件並成功完成 DBCC 語句不顯示任何信息
如果虛擬日志中的邏輯日志超出了 target_size 標記SQL server Database Engine 將釋放盡可能多的空間並顯示一個信息性消息該消息告訴您必須執行什麼操作來從文件尾部的虛擬日志中刪除邏輯日志執行完該操作後可以重新發出 DBCC 語句以釋放剩余的空間
DBCC SHRINKFILE 語句還顯示一個信息性消息指出它不能釋放所要求的全部空間並告訴您可以執行 BACKUP LOG 語句來釋放剩余的空間
三事務日志的還原
事務日志在還原的時候可以選擇三種恢復模式簡單模式完整模式和大容量日志模式
簡單恢復模式:
此模式簡略地記錄大多數事務所記錄的信息只是為了確保在系統崩潰或還原數據備份之後數據庫的一致性
由於舊的事務已提交已不再需要其日志因而日志將被截斷截斷日志將刪除備份和還原事務日志但是這種簡化是有代價的在災難事件中有丟失數據的可能沒有日志備份數據庫只可恢復到最近的數據備份時間如果您使用的是 sql server Enterprise Edition需要考慮此問題此外該模式不支持還原單個數據頁
完整恢復模式:
此模式完整地記錄了所有的事務並保留所有的事務日志記錄直到將它們備份在 sql server Enterprise Edition 中完整恢復模式能使數據庫恢復到故障時間點
大容量日志恢復模式:
此模式簡略地記錄大多數大容量操作(例如索引創建)完整地記錄其他事務
大容量日志恢復提高大容量操作的性能常用作完整恢復模式的補充大容量日志恢復模式支持所有的恢復形式但是有一些限制備份包含大容量日志記錄操作的日志時需要訪問數據庫內的所有數據文件如果數據文件不可訪問則無法備份最後的事務日志而且該日志中所有已提交的操作都將丟失
[] []
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22417.html