天天看点

sql server数据库备份压缩拷贝实例

--数据库备份压缩拷贝实例:前提要安装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