SQL2000与RAR结合压缩备份
虽然现在SQL Server2005已经成为SQL Server家族的主流趋势,SQL Server2005已经开发除了自动压缩备份等功能,但是还是写下自己在SQL2000服务器上写的压缩备份,留作纪念。
1、备份
use master
declare @path varchar(200) set @path='D:\Backup\DB_SQL2000\fbm_zjmcc.bak'
backup database fbm_zjmcc to
disk=@path with noinit
2、压缩(此处看到网上有人用exec xp_makecab来压缩备份,但是不知道为什么实现不了,只能退而取其次了)
declare @path varchar(200) set @path='D:\Backup\DB_SQL2000\fbm_zjmcc.bak'
declare @cabpath varchar(200) set @cabpath='D:\Backup\DB_SQL2000\fbm_zjmcc.rar'
declare @cmdRar varchar(200) set @cmdRar = 'D:\Backup\rar.exe a -ag '+@cabpath+' '+@path
exec xp_cmdshell @cmdRar,no_output
3、删除原文件
declare @path varchar(200) set @path='D:\Backup\DB_SQL2000\fbm_zjmcc.bak'
declare @cmdDel varchar(200) set @cmdDel = 'del '+@path
exec xp_cmdshell @cmdDel,no_output
以下附从网上找到的方法:
例1:(备份)
1 use master
2 declare @path=’c:\aa\zy.bak’
3 backup database zy to
4 disk=@path with noinit
说明:
1 使用系统库
2 设置备份的路径及文件名,注意是用单引号引用.
3 需备份的数据库
4 设置备份的驱动器,将路径设给驱动器,再设定备份的方式(重写或覆盖)
例2:(压缩备份的数据库文件)
use master
exec xp_makecab ’c:\m.cab’,mszip,1,’c:\aa\zy.bak’
exec xp_cmdshell ’copy c:\123.cab’, ’d:\123.cab’
说明:
’c:\m.cab’ 压缩备份的名称
mszip 压缩方式
’c:\aa\zy.bak’ 被压缩文件的路径
copy到另一个目录保存