SQL数据库自动备份并删除源文件的实现


  本文标签:SQL 备份 删除

  SQL数据库的备份是DBA都需要知道的,下面就将为您介绍如何让产生后的备份文件自动压缩并删除源文件的方法,供您参考,希望对您有所帮助  。

  其实这里利用的是winrar的命令行来执行压缩并删除源文件的方法的

  winrar命令行的压缩命令是[winrar路径] a [参数] [压缩后的路径] [需要压缩的文件路径],这是本文需要用到的命令格式

  之后我们就要解决如何让SQL来执行这个命令行了

  方法就是调用SQL的exec master..xp_cmdshell @cmd的存储过程方法来执行,这样我们就能够实现我们的目的了,这其实在我前面的文章介绍过

  大概方向已经取得,之后就是按实际要求来操作它们了,这里我只讲我的使用方法,其他具体的还是要看大家的具体需要的

  我的SQL备份是每天都要执行的,所以我在设置自动备份的时候就是把备份文件名设置成当天日期的格式的

  这是备份的命令:
declare @filename varchar(100)
set @filename=D:\+convert(char(10),getdate(),120)  --设置备份文件的路径和文件名
print @filename
backup database[databasename] to disk=@filename with NOINIT,NOUNLOAD,NAME=backup,NOSKIP,STATS=10,NOFORMAT  --执行备份

  这是压缩并删除源文件的命令:
declare @file varchar(100)
set @file=c:\winrar.exe a -ep -df D:\+convert(char(10),getdate(),120)+.rar D:\+convert(char(10),getdate(),120)  --将压缩备份文件并删除源文件的winrar命令行命令
exec master..xp_cmdshell @file  --执行命令