首页 > 技术文章 > sql server数据库备份压缩拷贝实例

xzsty 2017-03-03 17:30 原文

--数据库备份压缩拷贝实例:前提要安装RAR压缩软件
--声明变量
declare @day varchar(10),@dbname varchar(20),@filename varchar(100),@cmd_str varchar(500),@local_name varchar(500)
--初始变量值
set @day = convert(varchar(10),getdate(),112)
set @dbname='database'
set @filename=@dbname+@day
set @local_name='y:\backup\database\'+@filename
--sql备份
backup database database to disk=@local_name with init
--删除备份
set @cmd_str='del y:\backup\database\'+@dbname + convert(varchar(10),DATEADD(DAY,-2,getdate()),112)
EXEC master..xp_cmdshell @cmd_str
--删除RAR
set @cmd_str='del y:\backup\database\'+@dbname+'.rar'
EXEC master..xp_cmdshell @cmd_str

--压缩到网络驱动器上

set @cmd_str='"C:\Program Files\WinRAR\WinRAR.exe" a y:\backup\database\'+@dbname+'.rar ' + @local_name
print @cmd_str+char(10)
EXEC master..xp_cmdshell @cmd_str

--网络认证
EXEC master..xp_cmdshell 'net use w: \\200.168.15.9\backup "baijin830" /user:"WINDOWS-72AMTFX\administrator"',no_output
--网络拷贝
set @cmd_str='copy x:\backup\database\'+ @dbname+'.rar ' + 'w:\'
print @cmd_str+char(10)
EXEC master..xp_cmdshell @cmd_str

go

推荐阅读