SQL SERVER自動備份數(shù)據(jù)庫和刪除舊有數(shù)據(jù)
SQL SERVER自動備份是我們經(jīng)常要用到的,下面就為您詳細介紹SQL SERVER自動備份的方法步驟,如果您感興趣的話,不妨一看。
打開SQL SERVER MANAGEMENT STUDIO,啟動SQL SERVER代理服務(wù)(注意在“控制面板-管理工具-服務(wù)”中設(shè)置SQL SERVER AGENT的啟動類型為自動)。啟動后點擊“作業(yè)-新建作業(yè)”,彈出一個作業(yè)屬性的窗口,在“常規(guī)”欄目里可以先給作業(yè)命名,假設(shè)為“備份數(shù)據(jù)”。
一、SQL SERVER自動備份數(shù)據(jù)的***個步驟--“備份當(dāng)日數(shù)據(jù)”
在“步驟”欄目里新建一個步驟名為“備份當(dāng)日數(shù)據(jù)”,類型為“T-SQL”,數(shù)據(jù)庫選擇你要操作的數(shù)據(jù)庫(假設(shè)為“TESTDB”),命令窗口里填入備份的SQL語句。假設(shè)備份數(shù)據(jù)放在“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
在步驟屬性的高級的“成功時要執(zhí)行的操作”選擇“轉(zhuǎn)到下一步”即可,這樣“備份當(dāng)日數(shù)據(jù)”的步驟已經(jīng)建立好。
二、備份數(shù)據(jù)的第二個步驟--“刪除舊有備份”
我們可以設(shè)置只保留5天內(nèi)的備份數(shù)據(jù),那么必須刪除5天前的數(shù)據(jù)備份文件。在“備份數(shù)據(jù)”作業(yè)屬性窗口的步驟欄目里,建立第二個步驟命名為“刪除舊有備份”。同樣類型為“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的備份文件里包含了時間屬性在里面。在步驟屬性的高級的“成功時要執(zhí)行的操作”選擇“退出報告成功的作業(yè)”即可,這樣第二個步驟已經(jīng)建立好。
三、備份數(shù)據(jù)作業(yè)屬性的計劃欄目里,設(shè)置作業(yè)的執(zhí)行時間
新建一個作業(yè)計劃,命名為“每日自動備份和刪除”,再選擇執(zhí)行的周期,例如每天凌晨1點開始執(zhí)行。
***保存整個“備份數(shù)據(jù)”的作業(yè),每日就會SQL SERVER自動備份數(shù)據(jù)庫和刪除舊有數(shù)據(jù)了。
【編輯推薦】