首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2005 自動備份檔案清理腳本:xp_delete_file 刪除 N 天前備份

     編輯:關於SqlServer

自動清理備份檔腳本

利用未文件化的擴展預存程序 master.dbo.xp_delete_file 定期刪除舊備份檔。

腳本內容

DECLARE @d NVARCHAR(64);
SET @d = CONVERT(VARCHAR, DATEADD(DAY, -5, GETDATE()), 120);  -- 5 天前日期 (YYYY-MM-DD HH:MI:SS)

EXECUTE master.dbo.xp_delete_file 0, N'D:\databack\GFSM', N'bak', @d;
EXECUTE master.dbo.xp_delete_file 0, N'D:\databack\GFSM_KEY', N'bak', @d;

參數說明

參數值說明
第 1 參數0檔案類型:0=備份檔、1=報表檔
第 2 參數目錄路徑備份檔所在資料夾 (Unicode 字串)
第 3 參數副檔名不含點號,如 'bak'
第 4 參數截止日期早於此日期的檔案將被刪除 (格式 120: YYYY-MM-DD HH:MI:SS)

部署建議

  • 建立 SQL Server Agent 作業,排程每日/每週執行
  • 確保 SQL Server 服務帳號對備份目錄具備刪除權限
  • 測試階段先用 PRINT @d 確認日期格式正確

注意

xp_delete_file 為非文件化功能,未來版本可能移除。長期建議改用 PowerShell / Maintenance Plan / 自訂 CLR 程序實現相同功能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved