热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> 数据库>>正文内容

数据库自动备份和自动删除以前的备份

发布时间:2010年01月27日点击数: 未知
  1. DECLARE @delFileName NVARCHAR(200) 
  2. DECLARE  @cmd VARCHAR(50) 
  3. DECLARE  @saveDateNum INT 
  4. SET @saveDateNum=-60 
  5. WHILE @saveDateNum<-30 
  6.  BEGIN 
  7.   SET @delFileName = 'E:\back\Database\dbName_' + convert(varchar(10),dateadd(day,@saveDateNum,getdate()),112) + '.bak'   
  8.   SET @cmd = 'del '+ @delFileName 
  9.   EXEC master.dbo.xp_cmdshell @cmd 
  10.   SET @saveDateNum=@saveDateNum+1 
  11.  END 
  12. go 
  13.  
  14. DECLARE @fileName NVARCHAR(200) 
  15. SET @fileName = 'E:\back\Database\dbName_' + convert(NVARCHAR(19),getdate(),112) + '.bak' 
  16. BACKUP DATABASE [dbName] TO DISK = @fileName WITH NOINIT, NOUNLOAD, NOSKIP, STATS = 10, NOFORMAT 

因为可能是每周备份,30天以前del,30-60删除

可根据需要修改以上数据


SQL2005 开启XP_CMDSHELL

EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;--
关闭一样.只是将上面的后面的那个"1"改成"0" 就可以了.

;EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 0;RECONFIGURE;--

为安全可以换成

  1. declare @d Nvarchar(64); 
  2. set @d = convert(varchar,dateadd(day,-5,getdate()),120); 
  3. EXECUTE master.dbo.xp_delete_file 0,N'D:\databack\GFSM',N'bak',@d; 
  4. EXECUTE master.dbo.xp_delete_file 0,N'D:\databack\GFSM_KEY',N'bak',@d 

更多模板/案例展示

亚太盛典国际婚纱摄影 本案例由亚太盛典国际婚纱公司所部署,精美的界面,合理的布局是网站的一大特色!
亚太盛典国际婚纱摄影 本案例由亚太盛典国际婚纱公司所部署,精美的界面,合理的布局是网站的一大特色!
关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作