最近公司ERP資料庫主機,放置資料庫的D槽容量即將用盡,
於考量換主機前先檢視是否還有可增加可用空間之可能。
發現主要使用的資料庫中,除MDF不可去動外,
LDF檔案竟然有24G的大小。
自己查閱相關書本也上網查詢了處理方式。
得到如下兩種方法。
方法一:
BACKUP LOG DBName WITH TRUNCATE_ONLY
DBCC SHRINKFILE(DBName_LOG,2)
方法二:
USE DBName;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE DBName
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (DBName_Log, 1);
GO
-- Reset the database recovery model.
ALTER DATABASE DBName
SET RECOVERY FULL;
GO
小弟我實在是門外漢,實在無法瞭解這兩種有何區別?
而此資料庫有作主要備份、差異配合與交易備分三種組合維護計畫,
不知道下這些指令是否有何影響。
還煩請各位前輩不吝懇請賜教。
此外,想請教前輩們資料庫的備份檔都會存放於何處?
NAS、隨身硬碟或本機等。
備份檔案會存放多久的天數?
一周、二周還是一個月等。
我公司是存放從去年年初到現在每日的備份檔,
以致備份裝置容量也快用盡了,
所以也要規畫後續的做法。
非常感恩各位前輩。
你要先了解 SQL 復原模式中, Simple 和 Full mode 之間的差異:
復原模式 (SQL Server)
在 Full mode 底下你不能手動直接砍掉 ldf log 檔, 為了安全, SQL 只允許你在執行完「交易備份」之後, 才能由 SQL 自行砍檔.
所以你要做兩件事:
你講的都對, 不過詢問的人能領悟幾分 ?? 還是得靠他自己去K書
感恩raytracy大的回應,小弟我有認真去翻書了,
只是領悟力不夠,還是無法確實理解。
目前已對完整復原模式(三種備份方式皆可做),
與簡單復原模式(僅能做完整與差異備份方式)。
只是我的疑問是,
目前公司的主資料庫是用完整復原模式,
備份方式是三種備份方式搭配使用。
但為何主資料庫的ldf檔案還會有24G的大小,
不是做完已確定的交易記錄備份就會清除嗎?
而網上很多文章都會提及,
要刪除過大交易記錄檔只要切換到簡單復原模式,
原本是用完整復原模式,
這樣切換到簡單復原模式再刪除交易記錄檔不會有備份上的問題嗎?
感恩各位前輩的不吝指教。
那要看你的備份軟體是否有甚麼選項沒勾到? 例如: BackupExec 在設定交易備份的時候, 可以勾選「要不要刪除交易檔?」的選項, 如果沒勾的話, SQL 不會幫你刪. 這部分請朝向備份軟體的支援說明去研究.
另外, 還有一些狀況也可能會阻止交易檔被刪除, 例如有 AlwaysOn AG, Mirror 等等, 要看你實際的環境組態才知道.
切換到 Simple mode 當然一定可以刪掉交易檔, 但你的損失就是: 無法將資料庫復原到刪除之前的任何一個時間點, 只能一股腦還原到最後一次的完整/差異備份. 如果你們的環境可以忍受這樣損失的話, 那也可以這樣做.
昨日試了完整、差異與交易紀錄備份三種組合方式,
執行了一天,都有正常運作,而交易紀錄檔案格式為trn,
大小確實為排程時段區間使用者的操作頻繁度而視。
但有個問題是交易紀錄檔備份完後,
照理說不是應該會自動清空ldf檔案嗎?
但我檢視大小還是一樣,還是ldf都要手動刪除?
另外,壓縮資料庫或檔案這動作執行後是否會影響效能?
因為系統有提到,執行此動作會影響效能。
感恩各位前輩的不吝指教。
前面提過, 這個問題要看你的備份軟體如何運作的? 請洽備份軟體的原廠支援部門協助解決.
執行壓縮過程會自動觸發 database lock, 如果你的應用系統對 lock 敏感的話, 就會有影響.
感恩raytracy大的回覆。
小弟我實際測試過兩天,
交易紀錄備份完後,目前配置空間(亦即ldf檔案)不會變小,但可用空間會增大。(可從資料庫壓縮中的檔案去檢視)
以上,感恩各位前輩的回覆。
基本上樓主有二個問題要處理:
1.LDF過大:請改用"簡單"復原模式應該就可以變小.(設定中的"自動壓縮"也要勾選).
2.備份問題:這個要樓主自行評估
要先搞清楚備份的目的是為了=>"復原",所以要先決定好:公司可以接受的復原時間.(也就是ERP服務的中斷時間及USER補KEY資料的時間)才可以決定備份計劃.
在備份計劃要包括到:
A.備份時程:多久備份一次?這個要依前述的目的內容來決定.
B.何時備份:每天在什麼時間備份?這個時間點的決定要看"做一次備份的時間要多久"而定.這也會是當不幸事件發生時,USER單位補資料的時間起點.
C.備份方式:多久做一次FULL BACKUP.其他時間做差異備份.(建議:每週至少要做一次FULL BACKUP)
D.備在那裡:備份除了預防誤刪資料外,也是要預防設備故障或其他的天災人禍.-外接式硬碟/磁帶/異地備份...
E.復原演練:避免備了半天, 真的出事時,資料卻救不回來的"窘境".