


如何使SQL Server的日志文件不會(huì)增大
如何縮小MSSQL的日志文件已經(jīng)是一個(gè)經(jīng)常性的問(wèn)題了,不過(guò)這個(gè)問(wèn)題在精華區(qū)已經(jīng)有不少答案了,我這里也不再贅述。
現(xiàn)在我們討論一下治本的問(wèn)題,即如何使日志文件不再增大?
先介紹一個(gè)簡(jiǎn)單的方法。
就是把數(shù)據(jù)庫(kù)的故障還原模型設(shè)置為“簡(jiǎn)單”(SQL2K)。這樣它就會(huì)在Checkpoint的時(shí)候截?cái)嗳罩尽?BR> 具體操作方法是:
1、在Enterprise Manager中右鍵點(diǎn)數(shù)據(jù)庫(kù),“屬性|選項(xiàng)|故障還原”,選擇“簡(jiǎn)單”就可以了,如果是SQL7,在“屬性|選項(xiàng)”中有一個(gè)“trunc. log on chkpt. ”,選中就可以了。
2、如果不想用Enterprise Manager,在Query Analyser或者isql里面執(zhí)行EXEC sp_dboption 'your_dbname', 'trunc. log on chkpt.', 'TRUE'就可以了
但是,要注意的是,這樣做了之后,雖然日志不會(huì)增大,但是也意味著你一旦出現(xiàn)誤操作,將不會(huì)有利用日志恢復(fù)的機(jī)會(huì)。(如何利用日志來(lái)恢復(fù)請(qǐng)參見(jiàn)精華區(qū)的FAQ)所以,絕對(duì)不建議在生產(chǎn)數(shù)據(jù)庫(kù)上截?cái)嗳罩,除非你有充足的理由和足夠的把握或者……承?dān)責(zé)任的不是你。
既然這種方法不安全,下面我將介紹一種安全的方法。
大家都知道,SQL Server 在完成事務(wù)日志備份時(shí)將自動(dòng)截?cái)嗍聞?wù)日志中的不活動(dòng)部分。這些不活動(dòng)的部分包含已完成的事務(wù),因此在恢復(fù)過(guò)程中不再使用。相反,事務(wù)日志的活動(dòng)部分包含仍在運(yùn)行但尚未完成的事務(wù)。SQL Server 將重新使用事務(wù)日志中這些截?cái)嗟姆腔顒?dòng)空間,而不是任由事務(wù)日志繼續(xù)增大并占用更多的空間。
所以,我們備份事務(wù)日志就可以使日志文件不再增大了。但是呢,日志文件一直放著也不是個(gè)辦法,刪除呢,又會(huì)失去恢復(fù)的可能性。我們可以結(jié)合完全備份來(lái)做。做過(guò)完全備份之前的事務(wù)日志就可以刪除了。比如說(shuō),一個(gè)備份計(jì)劃,每天一次完全備份,保留7天內(nèi)的,每15分鐘一次事務(wù)日志備份,保留2天的。用數(shù)據(jù)庫(kù)維護(hù)計(jì)劃向?qū)Э梢院芊奖愕慕浞萦?jì)劃,不過(guò)一定要記得設(shè)置保留多久的備份哦,否則硬盤空間被備份給占滿了就壞事了。
關(guān)鍵字:SQL Server、日志、數(shù)據(jù)庫(kù)
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗(yàn)證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實(shí)現(xiàn)無(wú)AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯(cuò)
- 解決Centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解