Sql-Server
自動壓縮/管理 SQL Server 2005 備份
有沒有一個很好的方法讓 SQL Server 2005 執行自動壓縮的夜間備份,只保留最後 n 個備份?
我知道代理可以執行夜間備份,但我認為這個問題的棘手部分是壓縮和刪除非常舊的備份
乾杯!
在 SQL 備份之後,我們執行另一個任務來執行批處理文件來壓縮文件並將它們複製到 NAS。我們保留最後 3 個備份 - 基本腳本如下所示:
d: cd \MSSQL\BACKUP zip -rq d:\northwind northwind.BAK REM - do the local copy to the NAS move/y \\10.0.0.1\sql_backup\yesterday\northwind.zip \\10.0.0.1\sql_backup\2DaysAgo\northwind.zip move/y \\10.0.0.1\sql_backup\northwind.zip \\10.0.0.1\sql_backup\yesterday\northwind.zip copy northwind.zip \\10.0.0.1\sql_backup\northwind.zip
(我已將腳本編輯為僅顯示 1 個數據庫)。在腳本結束時,我們呼叫 Python 腳本發送一封電子郵件,告訴我們備份文件的大小和創建日期。您可以輕鬆地改用 WSH 腳本。我認為可能已經添加了“if errorlevel …”指令,因為 SQL 代理並不總是檢測批處理文件是否完成?
if errorlevel 1 goto weakspace d:\scripts\send_email_nas_copy_success.py goto end weakspace: REM - error occured d:\scripts\send_email_nas_copy_fail.py end: exit
我們的其中一台伺服器使用 winrar 而不是 zip 來壓縮文件(它有一個命令提示符)。每月一次,昨晚的備份被複製到保存六個月的存檔中,但您可以輕鬆創建另一個批處理文件以每週執行一次,以維護上週日、2 個週日前和 3 個週日前的備份。