Buckup

DECLARE @sql varchar(4000
declare @backupfile varchar(2000)
declare @now datetime
declare @retaindays int
declare @deletefiles varchar(2000)
declare @cmd varchar(2000)
declare @i int

set @retaindays=14
set @now=getdate()

set @i=1
while (@i < 30)
begin
    
set @deletefiles = '\\IP\DBBackup\FolderName\*'+convert(varchar(8),dateadd(dd,-@retaindays-@i,@now),112)+'*.*'
    
set @cmd='del ' + @deletefiles
    
exec  master..xp_cmdshell @cmd
    
set @i = @i +1
end

set @backupfile='\\IP\DBBackup\FolderName\?_db_'+
    
convert(char(8),@now,112)+replace(convert(varchar(20),@now,108),':','')+
    
'.BAK'

set @sql='if ''?''<>''tempdb'' backup database ? to disk='''+@backupfile+''' with retaindays='+convert(varchar(10),@retaindays)
exec sp_msforeachdb @command1=@sql
原文地址:https://www.cnblogs.com/Ammy/p/1245317.html