注:本人原创,转载请注明  yangz

我们要用到连个软件mssqlcompressed和xxcopy在

http://mssqlcompressed.sourceforge.net/doc_command.shtml

http://www.xxcopy.com/xcpydnld.htm

关于

SQL Server Compressed Backup 是一个命令行工具 ,支持备份和恢复SQL Server 2000, 2005 and 2008 到压缩格式 gzip, zip64, and bzip2.支持Multithreaded Compression同时备份到多个位置.

系统要求

SQL Server Compressed Backup is tested against SQL Server 2000, 2005 and 2008 and requires .Net 2.0 which is usually installed with SQL Server 2005 and 2008. This application must run locally with SQL Server.

需要当数据库是SQL Server 2005 and 2008时需要 .net 2.0

本人测试时都需要 dotnetfx 2.0

------------------------------------------------------

我们可以把这两个软件解压,安装xxcopy.

一.备份数据库

备份数据库名txcard 压缩格式为gzip,备份到d:\backup,文件名为txcard-日期.bak.gz

要使用%date%按日期备份请在控制面板-地区和语言选项--地区选项--自订-日期-选择---yyyy-MM-dd,日期分隔符- .

msbp.exe backup db(database=txcard;backuptype=full) gzip file:///d:\backup\txcard-%date%.bak.gz

也可以这样写

msbp.exe backup db(database=txcard;backuptype=full) gzip local(path=d:\txcard.bak.gz)

同时备份到多个路径(可以是网络共享服务器名前加\\\\):

注意:备份到网络路径是可能导致大小和备份不正确,请测试

msbp.exe backup db(database=txcard;backuptype=full) gzip local(path=d:\txcard.bak.gz;path=\\\\backserver\sqlbak\txcard.bak.gz)

run msbp.exe on the server and write to a network share. I believe the command would be something like:

msbp.exe backup “db(database=model)” “local(path=\\\\server\share\model.bak)”

That is, “\\” needs to be “\\\\”.

可以直接压缩备份mssql,缩小空间占用10倍.做一个计划任务每天执行一次批处理.

二.定期清理备份文件

太多的备份会占用空间,影响新的备份,这个时候就需要用到xxcopy

rem 删除 E:\backup目录中 30天以前的备份文件

xxcopy d:\backup /in*.gz  /rs /yy /DB#30

用计划任务每个月执行一次批处理

 

 tag:数据库压缩备份,定期清理过期数据

-------------------------------恢复数据库-----------------------

msbp.exe restore  local(path=D:\SYS_bak\data\shoe.bak.gz)  gzip  db(database=shoe)  >reports.txt

恢复结果请查看reports.txt文件

-----------------------调试---------------------

在命令的最后加输出     >文件名 如: >reports.txt 就是在当前目录输出到这个文件记录工作过程