程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 如何使Microsoft SQL Server的日志文件不會增大?

如何使Microsoft SQL Server的日志文件不會增大?

編輯:關於PHP編程

如何縮小MSSQL的日志文件已經是一個經常性的問題了,不過這個問題在精華區已經有不少答案了,我這裡也不再贅述。
現在我們討論一下治本的問題,即如何使日志文件不再增大?
先介紹一個簡單的方法。
就是把數據庫的故障還原模型設置為“簡單”(SQL2K)。這樣它就會在Checkpoint的時候截斷日志。
具體操作方法是:
1、在Enterprise Manager中右鍵點數據庫,“屬性|選項|故障還原”,選擇“簡單”就可以了,如果是SQL7,在“屬性|選項”中有一個“trunc. log on chkpt. ”,選中就可以了。
2、如果不想用Enterprise Manager,在Query Analyser或者isql裡面執行
EXEC sp_dboption 'your_dbname', 'trunc. log on chkpt.', 'TRUE'
就可以了
但是,要注意的是,這樣做了之後,雖然日志不會增大,但是也意味著你一旦出現誤操作,將不會有利用日志恢復的機會。(如何利用日志來恢復請參見精華區的FAQ)
所以,絕對不建議在生產數據庫上截斷日志,除非你有充足的理由和足夠的把握,或者……
承擔責任的不是你。
既然這種方法不安全,下面我將介紹一種安全的方法。
大家都知道,SQL Server 在完成事務日志備份時將自動截斷事務日志中的不活動部分。這些不活動的部分包含已完成的事務,因此在恢復過程中不再使用。相反,事務日志的活動部分包含仍在運行但尚未完成的事務。SQL Server 將重新使用事務日志中這些截斷的非活動空間,而不是任由事務日志繼續增大並占用更多的空間。
所以,我們備份事務日志就可以使日志文件不再增大了。
但是呢,日志文件一直放著也不是個辦法,刪除呢,又會失去恢復的可能性。
我們可以結合完全備份來做。做過完全備份之前的事務日志就可以刪除了。
比如說,一個備份計劃,每天一次完全備份,保留7天內的,每15分鐘一次事務日志備份,保留2天的。
用數據庫維護計劃向導可以很方便的建立備份計劃,不過一定要記得設置保留多久的備份哦,否則硬盤空間被備份給占滿了就壞事了。
Wrotten by Lucky@Dev-club
March 8, 2002

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved