SQLSERVER下一个用于根据日期来备份的过程

发表于:2007-05-25来源:作者:点击数: 标签:SQLServer下一个日期用于根据
SQL SERVER下一个用于根据日期来备份的过程. --本过程自动删除三天前的备份文件并执行当天的备份,可以通过作业调度来实现自动备份 --生成备份文件格式:MyDB20050113.16.15.48.BKF 表示是2005年01月13日16时15分48秒的备份 DECLARE @CurDate datetime DECLARE
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

原文转自:http://www.ltesting.net