使用 xp_sqlmaint 備份和截斷 LDF
作業正在使用以下命令備份 LDF:
EXECUTE master.dbo.xp_sqlmaint N'-PlanID <the id> -WriteHistory -VrfyBackup -BkUpMedia DISK -BkUpLog "\\server\sqlbak$" -DelBkUps 6HOURS -BkExt "TRN"'
我希望這項工作在備份 LDF 後截斷它。
我查看了 xp_sqlmaint 文件,似乎該標誌
-RmUnusedSpace
可以解決問題,但我不確定,因為它似乎只刪除未使用的空間而不是截斷。我讀到使用
dbcc shrinkfile('logfile' , destination size)
可以破壞備份鏈,因為您無法及時備份到特定時間點。備份後如何截斷 LDF?
備份後如何截斷 LDF?
別。維護計劃沒有業務截斷文件、LDF 或 MDF。以(巨大的)執行時成本來縮小某些東西只是讓它在夜間重新長出來是沒有意義的。如果文件很大,則意味著它必須很大。截斷文件只是要求停機的另一種方式,因為它給人一種空閒磁碟的錯誤印象,在正常操作期間磁碟被回收,但可能會失敗(使一切停止),因為所需的空間同時被其他文件。
所以不要。
在文件由於一次性事件而增長後的特殊情況下,手動一次性截斷 LDF 是可以的。但不是作為定期維護的一部分,那絕對不行。
直接修改維護計劃比嘗試在 SQL 代理作業步驟中添加其他標誌要容易得多。您所指的標誌也是關於數據庫本身的空間,而不僅僅是物理日誌文件。它旨在將未使用的空間縮小或釋放到指定的百分比。如果您不必這樣做,那不是您應該做的事情。
日誌截斷發生在完成完整備份或日誌備份時,或者每當 SQL Server 發出檢查點時。您可以在此處閱讀有關特定於 SQL Server 2000 的過程的更多資訊。如果您由於磁碟空間問題而試圖保持日誌文件的大小,則需要增加正在發生的日誌備份的頻率。如果這不是可以完成的事情,您要麼需要考慮添加額外的驅動器空間,要麼具體找出導致日誌文件失控的原因。
縮小日誌文件不會導致備份鏈出現任何中斷。但是,不建議將其自動化。如果日誌文件越來越失控,以至於需要您不斷縮小它,那麼您所做的就是掩蓋更大的問題。您需要確定導致日誌增長的原因並從那裡採取糾正措施。