SQL Server的記錄檔無限成長

半調子的資料庫管理,在原先的DBA離職後,我又重新上陣了.....

近來發現某台SQL Server主機Log檔已經大到120幾G,試著壓縮後,仍不見成效,最終導致硬碟空間不足,服務就掛了!只好緊急將一些不重要的檔案刪除,試著釋放一些空間讓主機可以繼續運作,也讓自己有時間去找解法處理問題。

首先,找到了下面這段SQL語法
SELECT name, recovery_model_desc, log_reuse_wait_desc
FROM sys.databases
WHERE name ='資料庫名稱'

可以知道目前資料庫的復原模及log肥大的原因,以我的例子,顯示的是「LOG_BACKUP」,也就是說正在等待記錄檔備份,看過主機確實沒有相關的記錄檔備份工作相關排程,看來是主機裝好後就沒現過了

不過,這主機有點舊了,又是吃自己肚子裡的空間,只好另裝一顆外接式硬碟進行Log檔備份,待備份完畢後,再查詢log_reuse_wait_desc狀態,已變成「NOTHING」,再進行壓縮,但實際執行效果仍有限。

後來又找了資料
ALTER DATABASE [資料庫名稱] SET RECOVERY SIMPLE WITH NO_WAIT
DBCC SHRINKFILE(記錄檔邏輯名稱, 1)
ALTER DATABASE [資料庫名稱] SET RECOVERY FULL WITH NO_WAIT

陸續下了上述指令,才終於把空間要回來,心理也才踏實點!

最後趕緊將記錄檔備份排程補上,以避免狀況又再次發生!


2015-11-02 05:47:50

I said something before.....
Textbox限制輸入數字 2016-11-14 21:17
C# 字串分割 2016-07-28 20:25
LINQ筆記 2016-07-27 03:33
安裝MySQL ODBC 5.2錯誤 – Error 1918 2014-02-03 19:27
在Reporting Service報表上顯示QRCode 2013-04-01 02:59
SQL Server DB管理筆記 2012-07-05 20:21
還原MSSQL遇到「備份組包含現有的XXX資料庫以外的資料庫備份」的錯誤 2012-05-15 12:35
Informix計算兩時間的差距 2010-08-12 06:01
ReportViewer顯示LocalReport及ServerReport 2010-05-24 04:13
SQL Server取得當月第一天及最後一天 2010-01-19 00:00
簡單的對DataTable做Distinct 2009-09-20 22:18
使用 svcutil 編譯 WCF 錯誤解法 2009-07-09 07:59
PHP加載MSSQL函式庫 2008-10-20 08:54
資料庫抓取固定筆數資料 2008-09-18 22:27
PHP與ASP共存 2008-07-05 10:03