- 註冊時間
- 2006-3-13
- 最後登錄
- 2025-1-10
- 在線時間
- 673 小時
- 閱讀權限
- 200
- 積分
- 417
- 帖子
- 1107
- 精華
- 0
- UID
- 2
  
|
魔鬼總在細節中
備份是IT人員保命丹,一定要第一優先排除萬難解決問題
但是天呀,磁碟機明明還有超大空間但是 SQL 備份作業卻回應空間不足,這是遇到靈異事件嗎?當然不是
檢查 Database Log 檔案的大小居然累積了大於 16GB 的份量
原來是檔案系統的單一檔案大小的限制造成
因為 E 磁碟剛好是 FAT32檔案格式,單檔最大可以到 4GB
在不能立即轉換檔案格式到 NTFS 的狀況下,只好調整備份指令來處理,原來的 SQL 語法如下:- BACKUP LOG [devdb] TO
- DISK = N'E:\MSSQL2005Backup\devdb\devdb_backup_201210121359.trn'
- WITH NOFORMAT, NOINIT, NAME = N'devdb_backup_20121012135000', SKIP, REWIND, NOUNLOAD, STATS = 10
複製代碼 那就拆成六個檔案來處理:- BACKUP LOG [devdb] TO
- DISK = N'E:\MSSQL2005Backup\devdb\devdb_backup_201210121500a.trn' ,
- DISK = N'E:\MSSQL2005Backup\devdb\devdb_backup_201210121500b.trn' ,
- DISK = N'E:\MSSQL2005Backup\devdb\devdb_backup_201210121500c.trn' ,
- DISK = N'E:\MSSQL2005Backup\devdb\devdb_backup_201210121500d.trn' ,
- DISK = N'E:\MSSQL2005Backup\devdb\devdb_backup_201210121500e.trn' ,
- DISK = N'E:\MSSQL2005Backup\devdb\devdb_backup_201210121500f.trn'
- WITH NOFORMAT, NOINIT, NAME = N'devdb_backup_20121012150000', SKIP, REWIND, NOUNLOAD, STATS = 10
複製代碼 手動執行成功。
結論:
由於該環境是因為原空間用盡的問題沒有及時發現,所以持續累積成較大的檔案。資料異動量很多又剛好遇上 FAT32 的障礙,只要把這個瓶頸先手動處理過之後,後續就讓維護作業的排程處理就可以了。
還有,這個案例是備份交易日誌檔,但是備份資料檔案時觀念也是相同,而且在不同的 MSSQL 版本都會發生。可以的話也是盡早將 FAT32 檔案格式轉換成 NTFS 來降低風險。
官方參考資料 http://support.microsoft.com/kb/325334
|
|