--1.完整備分 以數據庫RoleRight為例 每周一次
declare @datestr char(10) --第一個星期日的日期
declare @weekstr char(10) --星期幾
select @datestr=Convert(char(16), dateadd(dd,7-datepart(WEEKDAY,dateadd(mm, datediff(mm,0,getdate()), 0))+1,dateadd(mm, datediff(mm,0,getdate()), 0)),112)
select @weekstr=rtrim(DATENAME(weekday,getdate()))
if @weekstr='星期日' and @datestr=Convert(char(16), getdate(),112)
begin
BACKUP DATABASE RoleRight TO DISK = N'E:\SQLBAK_M\TRIO_SQL_MoBak' WITH INIT , NOUNLOAD , NAME = N'TRIO_SQL_MoBak', NOSKIP , STATS = 10, NOFORMAT
end
if @weekstr='星期日' and @datestr<>Convert(char(16), getdate(),112)
begin
BACKUP DATABASE RoleRight TO DISK = N'E:\SQLBAK\TRIO_SQL_WeBak' WITH INIT , NOUNLOAD , NAME = N'TRIO_SQL_WeBak', NOSKIP , STATS = 10, NOFORMAT
end
--2.差異備份 以數據庫RoleRight為例 每天晚上
declare @weekstr varchar(10) --星期幾
select @weekstr=ltrim(rtrim(DATENAME(weekday,getdate())))
--select @weekstr
--BACKUP DATABASE RoleRight TO DISK = N'E:\SQLBAK\TRIO_SQL_diff' WITH DIFFERENTIAL , NOUNLOAD , NAME = N'TRIO_SQL_diff', NOSKIP , STATS = 10, NOFORMAT
Declare @FilePath Char(1000)
Select @FilePath='BACKUP DATABASE RoleRight TO DISK = N'+ '''E:\SQLBAK\TRIO_SQL_'+@weekstr+'_diff'+''''
+' WITH DIFFERENTIAL , NOUNLOAD , NAME = N' +'''TRIO_SQL周日志 備份'''+', NOSKIP , STATS = 10, NOFORMAT '
Select @FilePath =rtrim(ltrim(@FilePath))
ExEcute (@FilePath)
--
--3.日志備份 每天兩次,中午一次,下班後一次
Declare @FilePath Char(1000)
Select @FilePath='BACKUP LOG RoleRight TO DISK = N'+ '''E:\SQLBAK\TRIO_SQL_'+Replace( Replace( Replace(Convert(char(16),
Getdate(),21),'-',''),':',''),' ','')+'_Log'+''''
+' WITH NOINIT , NOUNLOAD , NAME = N' +'''TRIO_SQL周日志 備份'''+', NOSKIP , STATS = 10, NOFORMAT '
Select @FilePath =rtrim(ltrim(@FilePath))
ExEcute (@FilePath)
數據庫備分方案腳本
原创
©著作权归作者所有:来自51CTO博客作者freedommai的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:sql備分語句詳解
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
笔记本电脑更换
我换电脑了
笔记本