天成1 发表于 2018-10-17 08:49:40

SQL按月备份与还原

----------------------------------------------备份数据库-----------------------------------------------------------------------  USE
  GO
  ALTER DATABASE SET RECOVERY SIMPLE WITH NO_WAIT    --简单
  USE
  go
  DBCC SHRINKFILE (N'Leader_Log' , 0, TRUNCATEONLY)    --缩日志
  USE
  GO
  ALTER DATABASE SET RECOVERY FULL WITH NO_WAIT   --完整
  declare
  @RiQi varchar(6),
  @LuJing varchar(200),
  @Path varchar(200)
  set @Path = '\\DC01\Buckups$\'--用镜像账号网络共享存储
  set @RiQi = (select CONVERT(varchar(4),DATEPART(YEAR,getdate())) + CONVERT(varchar(2),DATEPART(mm,getdate())))
  set @LuJing = @Path+ @RiQi + 'TEST.bak'
  backup database TEST to disk=@LuJingwith init
  declare
  @RiQi varchar(6),
  @LuJing varchar(200),
  @Path varchar(200)
  set @Path = '\\DC01\Buckups$\'
  set @RiQi = (select CONVERT(varchar(4),DATEPART(YEAR,getdate())) + CONVERT(varchar(2),DATEPART(mm,getdate())))
  set @LuJing = @Path + @RiQi + 'TEST.bak'
  backup log TEST to disk=@LuJing
  -----------------------------------------------查看备份文件--------------------------------------------------------------------------------------
  restore headeronly fromdisk='\\DC01\Buckups$\20183TEST.bak'
  -----------------------------------------------还原数据库----------------------------------------------------------------------
  restore database TEST fromdisk='\\DC01\Buckups$\TEST.bak' with file=1,replace,norecovery--第一个完整还原
  restore log TEST fromdisk='\\DC01\Buckups$\20183TEST.bak' with file=2,replace,norecovery --第二个日志还原
  restore log TEST fromdisk='\\DC01\Buckups$\20183TEST.bak' with file=3,replace,norecovery --第三个日志还原
  restore log TEST fromdisk='\\DC01\Buckups$\20183TEST.bak' with file=4,replace,recovery   --最后一个日志还原

页: [1]
查看完整版本: SQL按月备份与还原