查看: 1086|回复: 0

[SQLServer] SQL按月备份与还原

发表于 2018-4-2 08:00:02

----------------------------------------------备份数据库-----------------------------------------------------------------------
USE [master]
GO
ALTER DATABASE [TEST] SET RECOVERY SIMPLE WITH NO_WAIT --简单

USE [TEST]
go
DBCC SHRINKFILE (N'Leader_Log' , 0, TRUNCATEONLY) --缩日志

USE [master]
GO
ALTER DATABASE [TEST] 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=@LuJing with 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 from disk='\DC01\Buckups$\20183TEST.bak'

-----------------------------------------------还原数据库----------------------------------------------------------------------

restore database TEST from disk='\DC01\Buckups$\TEST.bak' with file=1,replace,norecovery --第一个完整还原
restore log TEST from disk='\DC01\Buckups$\20183TEST.bak' with file=2,replace,norecovery --第二个日志还原
restore log TEST from disk='\DC01\Buckups$\20183TEST.bak' with file=3,replace,recovery --最后一个日志还原



回复

使用道具 举报