SQL2005自动定期备份并删除过期备份文件.doc
文本预览下载声明
SQL 2005自动定期备份并删除过期备份文件
一,应用场景
希望数据库能够定期备份数据库到指定路径(E:\DataBaseBak)
自动生成的数据库备份文件要符合命名规则:文件名前缀+8位日期流水
例如:
2012年12月4日自动生成的数据库备份文件命名为,YAMEbak
2012年12月4日自动生成的数据库备份文件命名为,YAMEbak
自动删除几天以前第三天当日的数据库备份文件,例如:
在2012年12月7日,自动删除文件名为《YAMEbak》的文件
二,准备工作
2.1启动xp_cmdshell??
sp_configure show advanced options,1reconfiguregosp_configure xp_cmdshell,1reconfigurego2.2启动SQL Server代理
?
?
?
?
2.3建立存放备份文件的文件夹
路径:E:\DataBaseBak
注意:
??? 存放路径可根据具体设定,在步骤一、步骤二的脚本中会用到此路径。
三,建立作业计划
3.1新建作业
?
?
3.2建立步骤一
?
步骤一脚本:
declare? @sql? varchar(100)? set @sql=E:\DataBaseBak\YAMEI? +rtrim(convert(varchar,getdate(),112))+.bak? backup? database? YAMEI??? to? disk=@sql
注意:
“set @sql=E:\DataBaseBak\YAMEI”用到了2.3中设定的备份路径,要确保此路径是真实的
“set @sql=E:\DataBaseBak\YAMEI”一段中,“YAMEI”指定了备份文件的文件名的前缀部分,可根据实际需要修改,但务必同步修改步骤二脚本中的“set? @sql=del? E:\DataBaseBak\YAMEI?”
“backup? database? YAMEI??? to? disk=@sql”一段中,“YAMEI”指定了要备份的数据库,应按照具体应用进行调整
3.3建立步骤二
?
步骤二脚本:
declare? @sql? varchar(100) set? @sql=del? E:\DataBaseBak\YAMEI? +rtrim(convert(varchar,getdate()-3,112))+.bak? exec? master..xp_cmdshell? @sql
注意:
注意:
“set? @sql=del? E:\DataBaseBak\YAMEI?”中,用到了2.3中设定的备份路径,要确保此路径是真实的,并且和步骤一中指定的备份路径是一致的
“set? @sql=del? E:\DataBaseBak\YAMEI?”中,“YAMEI”是备份文件的文件名的前缀部分,可根据实际需要修改,但务必同步修改步骤一脚本中的“set @sql=E:\DataBaseBak\YAMEI?”
“+rtrim(convert(varchar,getdate()-3,112))+.bak?”中的-3,指定了备份文件的过期时限,应按照具体应用进行调整
?
3.4设定计划
?
?
3.5作业列表中的作业
3.6“作业活动监视器”中的作业
?
?
四,验证
4.1立即执行作业
?
?
4.2修改备份文件名称
4.3再次执行作业
?
?
显示全部