--本過程自動刪除三天前的備份文件并執行當天的備份,可以通過作業調度來實現自動備份
--生成備份文件格式:MyDB20050113.16.15.48.BKF 表示是2005年01月13日16時15分48秒的備份
DECLARE @CurDate datetime
DECLARE @BkTime nvarchar(20)
DECLARE @DelTime nvarchar(8)
DECLARE @DBName varchar(30)
Declare @BkFolder nvarchar(100)
Declare @BkLogFile Varchar(200)
Declare @DelFile Varchar(200)
Declare @BkFile Varchar(200)
--設置需要備份的數據庫
SET @DBName='MyDB'
--設定存放備份文件的文件夾
SET @BkFolder='\pydwh\DBBackup\SQL SERVER2K\MyDB'
--取得備份時間
SET @CurDate=getdate()
SET @BkTime=convert(nvarchar(8),@CurDate,112)+'.'+Convert(nvarchar(2),DatePart(hh,@CurDate)) + '.' +
Convert(nvarchar(2),DatePart(mi,@CurDate))+ '.' +
Convert(nvarchar(2),DatePart(ss,@CurDate))
--取得需要刪除的備份文件的時間
SET @DelTime=convert(nvarchar(8),getdate()-3,112)
--生成刪除備份文件語句
SET @DelFile ='Del "' + @BkFolder + '\' + @DBName +@DelTime +'*'
--生成日志備份文件名
SET @BkLogFile=@BkFolder + '\' +@DBName + @BkTime + '.LOG'
--生成數據庫備份文件名
SET @BkFile=@BkFolder + '\'+@DBName + @BkTime + '.BKF'
--執行刪除備份文件
Exec Master.dbo.Xp_CmdShell @DelFile
--備份日志及數據庫
Backup Log @DbName To Disk=@BkLogFile
BackUp Database @DBName To Disk=@BkFile