Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > ADP及SQL SERVER

SQL2000自动备份 压缩 删除(备份文件)

时 间:2013-09-08 08:11:22
作 者:杜超-2号   ID:16058  城市:江阴
摘 要:--1.修改本过程中目标数据库名成你要备分的数据库名 2.复制此行(可含此行)以上内空到查询分析器中执行即可
--3.数据库备份文件存放在E:\DATABACKUP文件夹中,文件名为 数据库名四位年两位月两位日-两位时两位分.rar
正 文:

create proc dbbf_test
as
declare
@dbname varchar(20),
@cmd1 nvarchar(120),
@cmd2 varchar(120),
@cmd3 varchar(120),
@i int,
@filename varchar(80),
@path varchar(80)
set @dbname='TEST'--\\这是数据库名,使用时只需要把它改成你所要备份的数据库名即可,这个必须修改\\--
----删除当前日期前15-前10天内的数据库备份,可根需要自行修改----

set @i=10
while @i<15
begin 
set @cmd1  ='if exist E:\DATABACKUP\'+@dbname+convert(varchar(10),DATEADD(day,-@i,getdate()),112) +'*' +' del  '+'E:\DATABACKUP\'+@dbname+convert(varchar(10),DATEADD(day,-@i,getdate()),112) +'*'
exec master..xp_cmdshell @cmd1----删除10天之前的数据库备份   
set @i=@i+1
end
----备份数据库----

exec master..xp_cmdshell 'if not exist E:\DATABACKUP (md E:\DATABACKUP)'--如果E盘根目录没有DATABACKUP文件夹,则新建此文件夹
Select @filename=@dbname+replace(replace(replace(CONVERT(varchar(16), getdate(), 120 ),'-',''),' ','-'),':','') 
SET @path='E:\DATABACKUP\'+@filename
BACKUP DATABASE @dbname TO DISK=@path

----压缩数据库备份,删除原备份文件

set @cmd2='C:\PROGRA~1\WinRAR\winrar.exe a  -ibck E:\DATABACKUP\'+@filename+'.rar E:\DATABACKUP\'+@filename
exec master..xp_cmdshell @cmd2----压缩数据库
set @cmd3='DEL E:\DATABACKUP\'+@filename
exec master..xp_cmdshell @cmd3----删除原备份文件(只保留压缩包)


go



Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助