SQL2000自动备份压缩删除数据库
2012-01-12 15:22
369 查看
create proc sp_backup
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
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
相关文章推荐
- SQL2000自动备份 压缩 删除(备份文件)
- SQL2000自动备份 压缩 删除(备份文件)
- SQL2000自动备份 删除
- 自动备份数据库和删除历史备份
- 数据库备份文件自动压缩脚本
- SQL SERVER 2005里自动备份数据库和删除旧有备份
- 数据库自动备份、自动删除;创建任务本地保存文件
- 自动备份压缩数据库--Global.asax
- WINDOWS脚本(备份数据库+FTP上传+自动删除7天前文件)
- Linux定时压缩备份Mysql数据库并自动删除之前备份数据
- shell脚本:完成数据库的自动备份和删除
- 用SQL语句定时自动备份SQL SERVER 数据库并将备份文件加密压缩自动下载 (2014-03-17 13:12:26)转载
- sql server2005 自动备份数据库 删除一段时间以前的备份 步骤详细描述
- 用作业和存储过程自动备份数据库并删除自动删除一周前的备份
- Windows系统下Oracle自动备份数据库,删除历史备份数据
- SqlServer自动备份、自动压缩、自动删除旧备份
- 数据库自动备份脚本并删除前3天的备份
- 数据库备份文件自动压缩脚本
- Sqlserver2005自动定期备份、Rar压缩并删除过期备份
- 数据库自动备份和自动删除以前的备份