文章詳情頁
如何使Microsoft SQL Server的日志文件不會增大?
瀏覽:100日期:2023-10-28 19:48:03
如何縮小MSSQL的日志文件已經(jīng)是一個經(jīng)常性的問題了,不過這個問題在精華區(qū)已經(jīng)有不少答案了,我這里也不再贅述。現(xiàn)在我們討論一下治本的問題,即如何使日志文件不再增大?先介紹一個簡單的方法。就是把數(shù)據(jù)庫的故障還原模型設(shè)置為“簡單”(SQL2K)。這樣它就會在Checkpoint的時候截斷日志。具體操作方法是:1、在Enterprise Manager中右鍵點數(shù)據(jù)庫,“屬性|選項|故障還原”,選擇“簡單”就可以了,如果是SQL7,在“屬性|選項”中有一個“trunc. log on chkpt. ”,選中就可以了。2、如果不想用Enterprise Manager,在Query Analyser或者isql里面執(zhí)行EXEC sp_dboption 'your_dbname', 'trunc. log on chkpt.', 'TRUE'就可以了但是,要注意的是,這樣做了之后,雖然日志不會增大,但是也意味著你一旦出現(xiàn)誤操作,將不會有利用日志恢復(fù)的機會。(如何利用日志來恢復(fù)請參見精華區(qū)的FAQ)所以,絕對不建議在生產(chǎn)數(shù)據(jù)庫上截斷日志,除非你有充足的理由和足夠的把握,或者……承擔(dān)責(zé)任的不是你。既然這種方法不安全,下面我將介紹一種安全的方法。大家都知道,SQL Server 在完成事務(wù)日志備份時將自動截斷事務(wù)日志中的不活動部分。這些不活動的部分包含已完成的事務(wù),因此在恢復(fù)過程中不再使用。相反,事務(wù)日志的活動部分包含仍在運行但尚未完成的事務(wù)。SQL Server 將重新使用事務(wù)日志中這些截斷的非活動空間,而不是任由事務(wù)日志繼續(xù)增大并占用更多的空間。 所以,我們備份事務(wù)日志就可以使日志文件不再增大了。但是呢,日志文件一直放著也不是個辦法,刪除呢,又會失去恢復(fù)的可能性。我們可以結(jié)合完全備份來做。做過完全備份之前的事務(wù)日志就可以刪除了。比如說,一個備份計劃,每天一次完全備份,保留7天內(nèi)的,每15分鐘一次事務(wù)日志備份,保留2天的。用數(shù)據(jù)庫維護(hù)計劃向?qū)Э梢院芊奖愕慕浞萦媱潱贿^一定要記得設(shè)置保留多久的備份哦,否則硬盤空間被備份給占滿了就壞事了。Wrotten by Lucky@Dev-clubMarch 8, 2002
標(biāo)簽:
Sql Server
數(shù)據(jù)庫
排行榜
