sql server2008数据库备份作业

来源:互联网 发布:沙特投资歼31知乎 编辑:程序博客网 时间:2024/05/21 22:33

/*********完整备份作业*********/
–完整备份,每周一次

USE MasterGOdeclare @str varchar(100)set @str='D:\DBtext\jgj\DBABak\FullBak'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.bak'BACKUP DATABASE [Master] TO DISK=@strWITH RETAINDAYS=15,NOFORMAT,NOINIT,NAME=N'Demo完整备份',SKIP,NOREWIND,NOUNLOAD,STATS=10GO

/*********差异备份作业*********/
–截断日志

USE MasterGOBACKUP LOG Demo  WITH NO_LOGGO--收缩日志文件USE DemoGODBCC SHRINKFILE (N'Demo_log',0,TRUNCATEONLY)GO--差异备份,每天一次USE MasterGOdeclare @str varchar(100)set @str='D:\DBtext\jgj\DBABak\DiffBak'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.diff'BACKUP DATABASE [Demo] TO DISK=@strWITH DIFFERENTIAL,RETAINDAYS=8,NOFORMAT,NOINIT,NAME=N'Demo差异备份',SKIP,NOREWIND,NOUNLOAD,STATS=10GO

/********日志备份作业*********/
–日志备份,每小时一次

USE DemoGOdeclare @str varchar(100)set @str='D:\DBtext\jgj\DBABak\logbak'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.trn'BACKUP LOG [Demo] TO DISK=@strWITH RETAINDAYS=3,NOFORMAT,NOINIT,NAME=N'Demo日志备份',SKIP,NOREWIND,NOUNLOAD,STATS=10GO

–删除过期的备份文件,每天两次

declare @str varchar(100),@dir varchar(100),@fileName varchar(30)set @dir='del D:\DBtext\jgj\DBABak\'set @filename=left(replace(replace(replace(convert(varchar,getdate()-15,20),'-',''),' ',''),':',''),8)set @str=@dir+'fullbak'+@filename+'*.bak'exec xp_cmdshell @strset @filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),' ',''),':',''),8)set @str=@dir+'diffbak'+@filename+'*.diff'exec xp_cmdshell @strset @filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),' ',''),':',''),8)set @str=@dir+'logbak'+@filename+'*.trn'exec xp_cmdshell @str
0 0
原创粉丝点击