SQL SERVER 設置自動備份和刪除舊的數據庫文件


打開SQL SERVER MANAGEMENT STUDIO,啟動SQL SERVER代理服務(注意在“控制面板-管理工具-服務”中設置SQL SERVER AGENT的啟動類型為自動)。啟動后點擊“作業-新建作業”,彈出一個作業屬性的窗口,在“常規”欄目里可以先給作業命名,假設為“備份數據”。 一、備份數據的第一個步驟--“備份當日數據”
在“步驟”欄目里新建一個步驟名為“備份當日數據”,類型為“T-SQL”,數據庫選擇你要操作的數據庫(假設為“TESTDB”),命令窗口里填入備份的SQL語句。假設備份數據放在“D:\BACKUP”里,備份文件命名格式為“SQL-2009-3-26.BAK”,那么語句如下:
DECLARE @filename VARCHAR(255)
DECLARE @date DATETIME

SELECT @date=GETDATE()
SELECT @filename = 'D:\BACKUP\SQL-'+CAST(DATEPART(yyyy,@date) as varchar)+'-'+CAST(DATEPART(mm,@date) as varchar)+'-'+CAST(DATEPART(dd,@date) as varchar)+'.bak'

BACKUP DATABASE [TESTDB] TO  DISK = @filename WITH INIT
GO

在步驟屬性的高級的“成功時要執行的操作”選擇“轉到下一步”即可,這樣“備份當日數據”的步驟已經建立好。
二、備份數據的第二個步驟--“刪除舊有備份”
我們可以設置只保留5天內的備份數據,那么必須刪除5天前的數據備份文件。在“備份數據”作業屬性窗口的步驟欄目里,建立第二個步驟命名為“刪除舊有備份”。同樣類型為“T-SQL”,命令窗口里填入一下SQL語句:
DECLARE @OLDDATE DATETIME
SELECT @OLDDATE=GETDATE()-5
EXECUTE master.dbo.xp_delete_file 0,N'D:\BACKUP',N'bak',@olddate,1

此命令會刪除“D:\BACKUP”里5天前的.BAK或.TRN格式的文件,不用指定文件名是什么。因為SQL SERVER的備份文件里包含了時間屬性在里面。在步驟屬性的高級的“成功時要執行的操作”選擇“退出報告成功的作業”即可,這樣第二個步驟已經建立好。
三、備份數據作業屬性的計划欄目里,設置作業的執行時間
新建一個作業計划,命名為“每日自動備份和刪除”,再選擇執行的周期,例如每天凌晨1點開始執行。
最后保存整個“備份數據”的作業,每日就會自動備份數據庫和刪除舊有數據了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM