對於備份計劃,在sql server中微軟提供了相應的功能集,經過Maintenance Plans嚮導能夠對數據庫進行相關維護工做。sql
經過下圖的嚮導,能夠進行如按期備份和清除工做。數據庫
前提是安裝介質包含了sql server維護的功能,而且正常啓動了sql server agent服務。而在express版本中並無提供維護計劃功能集。express
而對於express版本,咱們能夠經過windows的任務計劃來實現備份操做。windows
首先咱們寫一串sql語句,用做備份清理計劃。工具
1 --bk-- 2 declare @filename varchar(255) 3 set @filename = N'C:\BACKUP\test_' + cast(datepart(yyyy, getdate()) as varchar) 4 + cast(datepart(mm, getdate()) as varchar) + cast(datepart(dd, getdate()) as varchar) + '.bak' 5 6 backup database[test] to disk = @filename with init 7 go 8 9 --delete bk-- 10 declare @date datetime 11 set @date = getdate() - 3 12 13 execute master.dbo.xp_delete_file 0, N'C:\BACKUP', N'bak', @date, 1 14 go
上面的sql建立了test數據庫的備份,並保留了3天的備份記錄。spa
上面用到了一個系統存儲過程xp_delete_file。介紹下這個存儲過程相關參數:日誌
1. File Type = 0 for backup files or 1 for report files.code
2. Folder Path = The folder to delete files. The path must end with a backslash "\".orm
3. File Extension = This could be 'BAK' or 'TRN' or whatever you normally use.server
4. Date = The cutoff date for what files need to be deleted.
5. Subfolder = 0 to ignore subfolders, 1 to delete files in subfolders.
ok,建立好sql後,須要再寫一個bat。調用到sqlcmd命令,相關參數能夠說明能夠看一下幫助文檔。下面表示輸入的sql腳本和吐出的執行日誌。
1 sqlcmd -i "C:\backup\job.sql" -o "C:\backup\err.txt"
下面能夠經過windows附件中的任務計劃工具,將bat腳本做爲執行任務,並設置執行時間週期。