SQLSERVER根据日期来备份的过程

CREATE PROCEDURE Backupnewoa  AS
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='newoa'
--设定存放备份文件的文件夹
SET @BkFolder='E:\databak'
--取得备份时间
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
GO

posted @ 2008-07-09 10:36  行走  阅读(277)  评论(1编辑  收藏  举报