热门标签:
数据库自动备份和自动删除以前的备份
浏览量:
作者:未知
来源:互联网
- DECLARE @delFileName NVARCHAR(200)
- DECLARE @cmd VARCHAR(50)
- DECLARE @saveDateNum INT
- SET @saveDateNum=-60
- WHILE @saveDateNum<-30
- BEGIN
- SET @delFileName = 'E:\back\Database\dbName_' + convert(varchar(10),dateadd(day,@saveDateNum,getdate()),112) + '.bak'
- SET @cmd = 'del '+ @delFileName
- EXEC master.dbo.xp_cmdshell @cmd
- SET @saveDateNum=@saveDateNum+1
- END
- go
- DECLARE @fileName NVARCHAR(200)
- SET @fileName = 'E:\back\Database\dbName_' + convert(NVARCHAR(19),getdate(),112) + '.bak'
- 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;--
为安全可以换成
- declare @d Nvarchar(64);
- set @d = convert(varchar,dateadd(day,-5,getdate()),120);
- EXECUTE master.dbo.xp_delete_file 0,N'D:\databack\GFSM',N'bak',@d;
- EXECUTE master.dbo.xp_delete_file 0,N'D:\databack\GFSM_KEY',N'bak',@d
更多...好站/酷站
本站部份资源来于互联网,只供学习之用,不得用于商业,如有侵犯版权请联系告知,本站将第一时间删除!
站长QQ:373638128 邮箱:navy1015@126.com
copyright © 2008 .Net中文社区 ASPXCS.NET™.All Rights Reserved 滇ICP备08102132号
站长QQ:373638128 邮箱:navy1015@126.com
copyright © 2008 .Net中文社区 ASPXCS.NET™.All Rights Reserved 滇ICP备08102132号

