数据库开发
网络新概念,云计算、大数据、O2O、电商。。。。
网络新概念,云计算、大数据、O2O、电商。。。。
2017-04-06 09:48:01
实现sqlserver数据库存储过程中自动备份数据库,并且通过winrar压缩文件,并且自动删除历史备份数据
use master declare @fdir varchar(30) --定义备份的目录名称 declare @fdbname varchar(50) --定义数据库名称 declare @fdatestr varchar(50) set @fdir='c:\backup\' set @fdbname='k3xx' set @fdatestr=replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') declare @filename varchar(200) set @filename=@fdir+@fdbname+@fdatestr+'.bak' --设置备份文件的路径和文件名 print @filename backup database @fdbname to disk=@filename with NOINIT,NOUNLOAD,NAME='backup',NOSKIP,STATS=10,NOFORMAT --执行备份 declare @file varchar(200) set @file='c:\winrar\winrar.exe a -ep -df '+@fdir+@fdbname+@fdatestr+'.rar '+@filename --将压缩备份文件并删除源文件的winrar命令行命令 exec master..xp_cmdshell @file --执行命令 --删除文件超过30天的备份 declare @delfile varchar(200) set @delfile='FORFILES /p '+@fdir+' /s /m *.rar /d -30 /c "CMD /C del /Q /F @FILE"' EXEC xp_cmdshell @delfile