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點開始執行。
最後保存整個“備份數據”的作業,每日就會自動備份數據庫和刪除舊有數據了。
發佈了166 篇原創文章 · 獲贊 7 · 訪問量 37萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章