隨著數(shù)據(jù)庫的使用,數(shù)據(jù)庫的Log是不斷增長的,必須在它占滿空間之前將它們清除掉。清除Log有兩種方法。
(1)自動清除法。
開放數(shù)據(jù)庫選項 Trunc Log on Chkpt,使數(shù)據(jù)庫系統(tǒng)每隔一段時間自動清除Log。此方法的優(yōu)點是無須人工干預(yù),由SQL Server自動執(zhí)行,并且一般不會出現(xiàn)Log溢滿的情況;缺點是只清除Log而不做備份。
(2)手動清除法。
執(zhí)行命令“dump transaction”來清除Log。以下兩條命令都可以清除日志:
dump transaction with truncate_only
dump transaction with no_log
通常刪除事務(wù)日志中不活躍的部分可使用“dump transaction with trancate_only”命令,這條命令寫進事務(wù)日志時,還要做必要的并發(fā)性檢查。SYBASE提供“dump transaction with no_log”來處理某些非常緊迫的情況,使用這條命令有很大的危險性,SQL Server會彈出一條警告信息。為了盡量確保數(shù)據(jù)庫的一致性,你應(yīng)將它作為“最后一招”。
以上兩種方法只是清除日志, 而不做日志備份。若想備份日志,應(yīng)執(zhí)行“dump transaction database_name to dumpdevice”命令。
新聞熱點
疑難解答