服务器 频道

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

  【IT168 服务器学院】SQLSERVER下一个用于根据日期来备份的过程.[@more@]

  --本过程自动删除三天前的备份文件并执行当天的备份,可以通过作业调度来实现自动备份

  --生成备份文件格式: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

  
0
相关文章