数据库 备份 压缩

--打开XP_CMDShell命令
-- To allow updates.
EXEC sp_configure 'allow updates', 0
GO
-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO

declare @database_name varchar(100)
declare @bakname varchar(100)
declare @bakfile varchar(100)
declare @rarfile varchar(100)
declare @rarcmd varchar(256)

declare dbname cursor for select name from sys.databases where database_id > 4--游标取所有数据库名  
open dbname  
FETCH NEXT FROM dbname INTO @database_name  
  
WHILE (@@FETCH_STATUS = 0)  
begin  
	set @bakfile = 'F:\backup\'
	set @rarfile = 'F:\backup\'
	set @bakname = @database_name+cast(Year(GetDate()) as varchar(4))+cast(Month(GetDate()) as varchar(2))+cast(Day(GetDate()) as varchar(2))
	set @bakfile = @bakfile + @bakname + '.bak' 
	set @rarfile = @rarfile + @bakname + '.rar' 
	BACKUP DataBASE @database_name TO DISK = @bakfile WITH INIT , NOUNLOAD , NAME = @bakname, NOSKIP , STATS = 10, NOFORMAT 

	set @rarcmd ='C:\Progra~1\WinRAR\WinRAR.exe a -sv- -v4481m'+@rarfile+' '+@bakfile //分卷压缩
	exec master..xp_cmdshell @rarcmd

	FETCH NEXT FROM dbname INTO @database_name  
end  
  
CLOSE dbname  
DEALLOCATE dbname  


--关闭XP_CMDShell命令
-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 0
GO
-- To update the currently configured value for this feature.
RECONFIGURE
GO

  

转载于:https://www.cnblogs.com/jonhson/archive/2011/11/03/2234874.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值