| SQLSERVER下一个用于根据日期来备份的过程. --本过程自动删除三天前的备份文件并执行当天的备份,可以通过作业调度来实现自动备份 --生成备份文件格式: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 |