当前位置: 代码迷 >> Sql Server >> 数据清空和备份,该怎么解决
  详细解决方案

数据清空和备份,该怎么解决

热度:2   发布时间:2016-04-27 14:49:49.0
数据清空和备份
db 一共三个表table1,table2,table3 都有字段Date(yyyyMMdd) 
我现在想以年月为条件做清空、备份、恢复,怎么写

------解决方案--------------------
SQL code
delete table1 where date between '2010-01-01' and '2010-12-31'delete table2 where date between '2010-01-01' and '2010-12-31'delete table3 where date between '2010-01-01' and '2010-12-31'备份用 backup database恢复用 restore
------解决方案--------------------
SQL code
/*******************完整备份作业*******************/--完整备份,每周一次USE MasterGOdeclare @str varchar(100)set @str='D:\DBtext\jgj\DBABak\FullBak'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.bak'BACKUP DATABASE [demo] TO [email protected]WITH RETAINDAYS=15,NOFORMAT,NOINIT,NAME=N'Demo完整备份',SKIP,NOREWIND,NOUNLOAD,STATS=10GO/*******************差异备份作业*******************/--截断日志USE MasterGOBACKUP LOG Demo  WITH NO_LOGGO--收缩日志文件USE DemoGODBCC SHRINKFILE (N'Demo_log',0,TRUNCATEONLY)GO--差异备份,每天一次USE MasterGOdeclare @str varchar(100)set @str='D:\DBtext\jgj\DBABak\DiffBak'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.diff'BACKUP DATABASE [Demo] TO [email protected]WITH DIFFERENTIAL,RETAINDAYS=8,NOFORMAT,NOINIT,NAME=N'Demo差异备份',SKIP,NOREWIND,NOUNLOAD,STATS=10GO/******************日志备份作业*******************/--日志备份,每小时一次USE DemoGOdeclare @str varchar(100)set @str='D:\DBtext\jgj\DBABak\logbak'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.trn'BACKUP LOG [Demo] TO [email protected]WITH RETAINDAYS=3,NOFORMAT,NOINIT,NAME=N'Demo日志备份',SKIP,NOREWIND,NOUNLOAD,STATS=10GO--删除过期的备份文件,每天两次declare @str varchar(100),@dir varchar(100),@fileName varchar(30)set @dir='del D:\DBtext\jgj\DBABak\'set @filename=left(replace(replace(replace(convert(varchar,getdate()-15,20),'-',''),' ',''),':',''),8)set @[email protected][email protected]+'*.bak'exec xp_cmdshell @strset @filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),' ',''),':',''),8)set @[email protected][email protected]+'*.diff'exec xp_cmdshell @strset @filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),' ',''),':',''),8)set @[email protected][email protected]+'*.trn'exec xp_cmdshell @str
  相关解决方案