清除Log日誌的兩種方法
關鍵字描述:方法 日誌 清除 命令 Log dump 資料庫 transaction &ldquo
清除Log日誌的兩種方法:
1.自動清除法
開放資料庫選項 Trunc Log on Chkpt,使資料庫系統每隔一段時間自動清除Log。此方法的優點是無須人工干預,由SQL Server自動執行,並且一般不會出現Log溢滿的情況;缺點是只清除Log而不做備份。
2.手動清除法
執行命令“dump transaction”來清除Log。以下兩條命令都可以清除日誌:
dump transaction with truncate_only
dump transaction with no_log
通常刪除事務日誌中不活躍的部分可使用“dump transaction with trancate_only”命令,這條命令寫進事務日誌時,還要做必要的併發性檢查。SYBASE提供“dump transaction with no_log”來處理某些非常緊迫的情況,使用這條命令有很大的危險性,SQL Server會彈出一條警告資訊。為了儘量確保資料庫的一致性,你應將它作為“最後一招”。
以上兩種方法只清除日誌,而不做日誌備份,若想備份日誌,應執行“dump transaction database_name to dumpdevice”命令。
附一個更好的方法
先分離資料庫後,直接刪除日誌以後,再在查詢分析器裏用
exec sp_attach_single_file_db '資料庫名', '.mdf檔路徑' 命令附加資料庫。