SQL Server 控制Ldf檔案的大小(清理記錄 &設定自動縮小) *清理記錄 1. 在SQL Server Enterprice Manager(企業管理器)工具列---進入 SQL Query Analyzer(SQL查詢分析器) 2. 輸入BACKUP LOG <你的資料庫名稱> WITH TRUNCATE_ONLY 如: BACKUP LOG myXXDB WITH TRUNCATE_ONLY 2. 回SQL Server Enterprice Manager, 在該資料庫上按右鍵選[所有工作/壓縮資料庫], 點[檔案], 在資料庫檔案選擇該 Log檔案, 在[壓縮動作]選擇[將檔案壓縮為X MB (最小值為Y MB)], 直接將x改成其建議其最小值y按[確定]即可壓縮. 先不要離開,再點一次[檔案]看看壓了多少, 會發現還可以再壓, 還會變更小喲! 可以壓兩三次. 總結:其實也就是兩個指令就可以完成了 BACKUP LOG DateBaseName WITH TRUNCATE_ONLY DBCC ShrinkDatabase(DateBaseName) *設定資料庫自動縮小, 預設值為OFF 方法1. ALTER DATABASE <你的資料庫名稱> SET AUTO_SHRINK ON 如: ALTER DATABASE myXXDB SET AUTO_SHRINK ON 方法2. 在資料庫上按右鍵選內容(要等一下下), 點[選項]頁, 勾選[自動壓縮]後按確定 SQL SERVER日誌清除的兩種方法 在使用過程中大家經常碰到資料庫日誌非常大的情況,在這裡介紹了兩種處理方法…… 方法一 一般情況下,SQL資料庫的收縮並不能很大程度上減小資料庫大小,其主要作用是收縮日誌大小,應當定期進行此操作以免資料庫日誌過大 1、設定資料庫模式為簡單模式:開啟SQL企業管理器,在控制台根目錄中依次點開Microsoft SQL Server-->SQL Server組-->雙擊開啟你的伺服器-->雙擊開啟資料庫目錄-->選擇你的資料庫名稱(如論壇資料庫Forum)-->然後點擊右鍵選擇屬性-->選擇選項-->在故障還原的模式中選擇“簡單”,然後按確定儲存。 2、在當前資料庫上點右鍵,看所有任務中的收縮資料庫,一般裡面的預設設定不用調整,直接點確定。 3、收縮資料庫完成後,建議將您的資料庫屬性重新設定為標準模式,操作方法同第一點,因為日誌在一些異常情況下往往是恢複資料庫的重要依據 SQLSERVER中講: BACKUP LOG 資料庫名 WITH NO_LOG|TRUNCATE_ONLY可以截斷交易記錄。 但我在資料庫中進行上述操作後,交易記錄還是沒有改變。 第一步只是將非活動的交易記錄截斷,並沒有收縮資料庫,只有進行第二項操作後,資料庫才進行交易記錄的清理工作,將截斷的非活動事務刪除,並將交易記錄檔收縮到適當尺寸。 在使用 SQL Server 時,資料庫裡的記錄檔會越來越大,需要把它刪除。 我先把這個資料庫分離,在資料庫上點右鍵 -> 所有任務 -> 分離資料庫,分離之後,就可以把 Log 檔案刪除,同時也可以把資料進行備份。之後,就可以在所有任務裡的附加資料庫再把那個資料庫添進來,SQL Server 會提示 LOG 檔案不存在,問你是不是要建立一個,選是就行了,這樣,LOG 檔案就清空了。 這個方法只需幾分鐘的時間,但在這幾分鐘裡,就不能訪問這個資料庫了,我覺得只適用於小型的應用,對於大型的系統就要找其它方法了。 |