SQL2000自动备份 压缩 删除(备份文件)
2011-12-17 13:06
567 查看
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
--1.修改本过程中目标数据库名成你要备分的数据库名 2.复制此行(可含此行)以上内空到查询分析器中执行即可
--3.数据库备份文件存放在E:\DATABACKUP文件夹中,文件名为 数据库名四位年两位月两位日-两位时两位分.rar
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
--1.修改本过程中目标数据库名成你要备分的数据库名 2.复制此行(可含此行)以上内空到查询分析器中执行即可
--3.数据库备份文件存放在E:\DATABACKUP文件夹中,文件名为 数据库名四位年两位月两位日-两位时两位分.rar
相关文章推荐
- SQL2000自动备份 压缩 删除(备份文件)
- (windows)python脚本:自动备份并压缩文件,同时删除过期文件
- sqlserver 自动备份,压缩,删除多余备份文件
- (windows)python脚本:自动备份并压缩文件,同时删除过期文件
- SQL2000自动备份压缩删除数据库
- 【linux】监控磁盘情况并自动删除备份文件
- linux下mysql自动备份和自动删除文件功能实现
- 日志/数据自动压缩备份删除小脚本
- SQL Server 2005 Express自动备份及删除旧备份文件
- linux下面自动打包备份并且删除7 天前的mysql备份文件
- SQL 2005自动备份与自动删除备份文件
- SQL SERVER 设置自动备份和删除旧的数据库文件
- 压缩指定SQL文件并删除N天前的压缩备份文件BAT
- window下备份数据库到LinuxFTP服务器上并自动删除7天前数据备份文件
- SQL定时自动备份,并将备份文件加密压缩并自动下载的实现
- SQL数据库备份文件自动压缩,bat
- centos6.5下oracle自动备份删除指定天数的文件
- Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本
- CentOS Linux自动备份文件到远程FTP服务器并删除指定日期前的备份
- 用批处理文件自动备份文件及文件夹,并自动删除n天前的文件_DOS/BAT