SQL SERVER自動備份數據庫和刪除舊有數據
SQL SERVER自動備份是我們經常要用到的,下面就為您詳細介紹SQL SERVER自動備份的方法步驟,如果您感興趣的話,不妨一看。
打開SQL SERVER MANAGEMENT STUDIO,啟動SQL SERVER代理服務(注意在“控制面板-管理工具-服務”中設置SQL SERVER AGENT的啟動類型為自動)。啟動后點擊“作業-新建作業”,彈出一個作業屬性的窗口,在“常規”欄目里可以先給作業命名,假設為“備份數據”。
一、SQL SERVER自動備份數據的***個步驟--“備份當日數據”
在“步驟”欄目里新建一個步驟名為“備份當日數據”,類型為“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點開始執行。
***保存整個“備份數據”的作業,每日就會SQL SERVER自動備份數據庫和刪除舊有數據了。
【編輯推薦】