none
备份失败设置回简单模式 RRS feed

  • 问题

  • 下面代码如果备份失败,那么设置回简单模式那句就不执行,请问有没有别的方法可以让就算备份失败也可以设置回简单模式?

    SET @SQL = N'--1设置完整模式

    USE [master]
    GO
    ALTER DATABASE [' + @DBNAME + '] SET RECOVERY FULL WITH NO_WAIT
    GO

    --2备份主分区(完整备份)
    DECLARE @CurrentTime VARCHAR(50), @FileName VARCHAR(200)
    SET @CurrentTime = REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR, GETDATE(), 120 ),''-'',''_''),'' '',''_''),'':'','''')
    IF(DATEPART(DW, GETDATE()) = 2)--星期一
    BEGIN
        SET @FileName = ''E:\DBBackup\DBBackup_Share\' + @DBNAME + '\' + @DBNAME
                        + '_Primary_Full_'' + @CurrentTime+''.bak''
        BACKUP DATABASE [' + @DBNAME + ']
        FILEGROUP=''PRIMARY'' TO DISK=@FileName WITH FORMAT
    END
    ELSE
    BEGIN
        SET @FileName = ''E:\DBBackup\DBBackup_Share\' + @DBNAME + '\' + @DBNAME
                        + '_Primary_Diff_'' + @CurrentTime+''.bak''
        BACKUP DATABASE [' + @DBNAME + ']
        FILEGROUP=''PRIMARY'' TO DISK=@FileName WITH DIFFERENTIAL,FORMAT
    END
    GO

    --3设置简单模式
    USE [master]
    GO
    ALTER DATABASE [' + @DBNAME + '] SET RECOVERY SIMPLE WITH NO_WAIT
    GO
    '
                    EXEC msdb.dbo.sp_add_jobstep @job_name = @job_name,
                        @step_name = N'Bakcup', 
                        @step_id = 1,


    Love SQL

    2015年2月9日 2:21

答案

全部回复