none
Backup diário Sql Server 2012 SE RRS feed

  • Pergunta

  • Pessoal,

          Criei um Job de Backup diário no Sql Server 2012 SE, mas eu não gostaria de sobre escrever o arquivo de backup diariamente. Gostaria que o mesmo ficasse armazenado na pasta do servidor.

    Ex.:

    BACKUP DATABASE [Exemplo]
    TO  DISK = N'F:\Backup_Databases\backup_Exemplo.bak' WITH NOFORMAT, NOINIT,  
    NAME = N'Exemplo-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO

    Desta forma diariamente o arquivo do backup anterior e sobre escrito.

    Alguma idéia?

    JFonseca

    segunda-feira, 17 de fevereiro de 2014 19:09

Respostas

  • JFonseca,

    Em vez de criar o job com um script T-SQL, crie uma manutenção na sua instância SQL.

    Segue abaixo um link sobre como escrever o script para cada tipo de backup que você está querendo efetuar:

    http://msdn.microsoft.com/pt-br/library/ms186865.aspx#backing_up_db

    Agora, para agendar os backup´s eu recomendo que você crie um plano de manutenção com intervalo de tempo. Desta forma, também é possível criar um arquivo com nome / extensão diferentes para cada situação.

    Para acessar o "Maintenance Plans", entre no SSMS, abra sua instância SQL, clique na pasta "Management" -> "Maintenance Plans". Clique com o botão direito e selecione "New Maintenance Plan...".

    Caso você deseja criar por script, veja o link abaixo:

    http://technet.microsoft.com/en-us/library/ms189953.aspx

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    segunda-feira, 17 de fevereiro de 2014 19:15
  • Durval, muito obrigado, mas o que preciso e outra coisa. Eu quero um arquivo diário de backup. Ex.: Backup_<database>_17022014.bak --> Arquivo de backup de ontem.

    Backup_<database>_18022014.bak --> Arquivo de backup de hoje.

    Gostaria de fazer isso que está acima, porem não sei como fazer.

    Quanto o Maintence Plans, prefiro fazer pelo JOB. Segue o Script do JOB abaixo.

    USE [msdb]
    GO

    /****** Object:  Job [Backup Database Exemplo]    Script Date: 17/02/2014 17:27:15 ******/
    BEGIN TRANSACTION
    DECLARE @ReturnCode INT
    SELECT @ReturnCode = 0
    /****** Object:  JobCategory [Database Maintenance]    Script Date: 17/02/2014 17:27:15 ******/
    IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Database Maintenance' AND category_class=1)
    BEGIN
    EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Database Maintenance'
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    END

    DECLARE @jobId BINARY(16)
    EXEC @ReturnCode =  msdb.dbo.sp_add_job @job_name=N'Backup Database Exemplo',
            @enabled=1,
            @notify_level_eventlog=0,
            @notify_level_email=0,
            @notify_level_netsend=0,
            @notify_level_page=0,
            @delete_level=0,
            @description=N'No description available.',
            @category_name=N'Database Maintenance',
            @owner_login_name=N'sa', @job_id = @jobId OUTPUT
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    /****** Object:  Step [Backup Database LanView]    Script Date: 17/02/2014 17:27:16 ******/
    EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Backup Database Exemplo',
            @step_id=1,
            @cmdexec_success_code=0,
            @on_success_action=1,
            @on_success_step_id=0,
            @on_fail_action=2,
            @on_fail_step_id=0,
            @retry_attempts=0,
            @retry_interval=0,
            @os_run_priority=0, @subsystem=N'TSQL',
            @command=N'BACKUP DATABASE [Exemplo] TO  DISK = N''F:\Backup_Databases\backup_Exemplo.bak'' WITH NOFORMAT, NOINIT,  NAME = N''Exemplo-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO
    ',
            @database_name=N'Exemplo',
            @flags=0
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    /****** Object:  Step [Backup Database model]    Script Date: 17/02/2014 17:27:16 ******/
    EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Backup Database model',
            @step_id=2,
            @cmdexec_success_code=0,
            @on_success_action=1,
            @on_success_step_id=0,
            @on_fail_action=2,
            @on_fail_step_id=0,
            @retry_attempts=0,
            @retry_interval=0,
            @os_run_priority=0, @subsystem=N'TSQL',
            @command=N'BACKUP DATABASE [model]
    TO  DISK = N''F:\Backup_Databases\backup_model.bak'' WITH NOFORMAT, NOINIT,  
    NAME = N''model-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO
    ',
            @database_name=N'master',
            @flags=0
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    /****** Object:  Step [Backup Database msdb]    Script Date: 17/02/2014 17:27:16 ******/
    EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Backup Database msdb',
            @step_id=3,
            @cmdexec_success_code=0,
            @on_success_action=3,
            @on_success_step_id=0,
            @on_fail_action=2,
            @on_fail_step_id=0,
            @retry_attempts=0,
            @retry_interval=0,
            @os_run_priority=0, @subsystem=N'TSQL',
            @command=N'BACKUP DATABASE [msdb]
    TO  DISK = N''F:\Backup_Databases\backup_msdb.bak'' WITH NOFORMAT, NOINIT,  
    NAME = N''msdb-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO
    ',
            @database_name=N'master',
            @flags=0
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    /****** Object:  Step [Backup Database Master]    Script Date: 17/02/2014 17:27:16 ******/
    EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Backup Database Master',
            @step_id=4,
            @cmdexec_success_code=0,
            @on_success_action=1,
            @on_success_step_id=0,
            @on_fail_action=2,
            @on_fail_step_id=0,
            @retry_attempts=0,
            @retry_interval=0,
            @os_run_priority=0, @subsystem=N'TSQL',
            @command=N'BACKUP DATABASE [master]
    TO  DISK = N''F:\Backup_Databases\backup_master.bak'' WITH NOFORMAT, NOINIT,  
    NAME = N''master-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO
    ',
            @database_name=N'master',
            @flags=0
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Backup Database LanView',
            @enabled=1,
            @freq_type=4,
            @freq_interval=1,
            @freq_subday_type=1,
            @freq_subday_interval=0,
            @freq_relative_interval=0,
            @freq_recurrence_factor=0,
            @active_start_date=20140208,
            @active_end_date=99991231,
            @active_start_time=20000,
            @active_end_time=235959,
            @schedule_uid=N'92844be4-6e9a-434d-9906-c53ccb4da900'
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    COMMIT TRANSACTION
    GOTO EndSave
    QuitWithRollback:
        IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
    EndSave:

    GO

    JFonseca,

    Da forma que eu te indiquei, você vai conseguir o que pretende sem muito esforço e com fácil manutenção (quando necessário). Veja na imagem abaixo o resultado de um determinado banco de dados, com um backup FULL intercalado com alguns DIFFERENTIAL.

    Não esqueça de marcar todos os posts que te ajudaram como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    • Marcado como Resposta jfonseca terça-feira, 18 de fevereiro de 2014 19:11
    segunda-feira, 17 de fevereiro de 2014 21:25

Todas as Respostas

  • JFonseca,

    Em vez de criar o job com um script T-SQL, crie uma manutenção na sua instância SQL.

    Segue abaixo um link sobre como escrever o script para cada tipo de backup que você está querendo efetuar:

    http://msdn.microsoft.com/pt-br/library/ms186865.aspx#backing_up_db

    Agora, para agendar os backup´s eu recomendo que você crie um plano de manutenção com intervalo de tempo. Desta forma, também é possível criar um arquivo com nome / extensão diferentes para cada situação.

    Para acessar o "Maintenance Plans", entre no SSMS, abra sua instância SQL, clique na pasta "Management" -> "Maintenance Plans". Clique com o botão direito e selecione "New Maintenance Plan...".

    Caso você deseja criar por script, veja o link abaixo:

    http://technet.microsoft.com/en-us/library/ms189953.aspx

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    segunda-feira, 17 de fevereiro de 2014 19:15
  • Durval, muito obrigado, mas o que preciso e outra coisa. Eu quero um arquivo diário de backup. Ex.: Backup_<database>_17022014.bak --> Arquivo de backup de ontem.

    Backup_<database>_18022014.bak --> Arquivo de backup de hoje.

    Gostaria de fazer isso que está acima, porem não sei como fazer.

    Quanto o Maintence Plans, prefiro fazer pelo JOB. Segue o Script do JOB abaixo.

    USE [msdb]
    GO

    /****** Object:  Job [Backup Database Exemplo]    Script Date: 17/02/2014 17:27:15 ******/
    BEGIN TRANSACTION
    DECLARE @ReturnCode INT
    SELECT @ReturnCode = 0
    /****** Object:  JobCategory [Database Maintenance]    Script Date: 17/02/2014 17:27:15 ******/
    IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Database Maintenance' AND category_class=1)
    BEGIN
    EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Database Maintenance'
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    END

    DECLARE @jobId BINARY(16)
    EXEC @ReturnCode =  msdb.dbo.sp_add_job @job_name=N'Backup Database Exemplo',
            @enabled=1,
            @notify_level_eventlog=0,
            @notify_level_email=0,
            @notify_level_netsend=0,
            @notify_level_page=0,
            @delete_level=0,
            @description=N'No description available.',
            @category_name=N'Database Maintenance',
            @owner_login_name=N'sa', @job_id = @jobId OUTPUT
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    /****** Object:  Step [Backup Database LanView]    Script Date: 17/02/2014 17:27:16 ******/
    EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Backup Database Exemplo',
            @step_id=1,
            @cmdexec_success_code=0,
            @on_success_action=1,
            @on_success_step_id=0,
            @on_fail_action=2,
            @on_fail_step_id=0,
            @retry_attempts=0,
            @retry_interval=0,
            @os_run_priority=0, @subsystem=N'TSQL',
            @command=N'BACKUP DATABASE [Exemplo] TO  DISK = N''F:\Backup_Databases\backup_Exemplo.bak'' WITH NOFORMAT, NOINIT,  NAME = N''Exemplo-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO
    ',
            @database_name=N'Exemplo',
            @flags=0
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    /****** Object:  Step [Backup Database model]    Script Date: 17/02/2014 17:27:16 ******/
    EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Backup Database model',
            @step_id=2,
            @cmdexec_success_code=0,
            @on_success_action=1,
            @on_success_step_id=0,
            @on_fail_action=2,
            @on_fail_step_id=0,
            @retry_attempts=0,
            @retry_interval=0,
            @os_run_priority=0, @subsystem=N'TSQL',
            @command=N'BACKUP DATABASE [model]
    TO  DISK = N''F:\Backup_Databases\backup_model.bak'' WITH NOFORMAT, NOINIT,  
    NAME = N''model-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO
    ',
            @database_name=N'master',
            @flags=0
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    /****** Object:  Step [Backup Database msdb]    Script Date: 17/02/2014 17:27:16 ******/
    EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Backup Database msdb',
            @step_id=3,
            @cmdexec_success_code=0,
            @on_success_action=3,
            @on_success_step_id=0,
            @on_fail_action=2,
            @on_fail_step_id=0,
            @retry_attempts=0,
            @retry_interval=0,
            @os_run_priority=0, @subsystem=N'TSQL',
            @command=N'BACKUP DATABASE [msdb]
    TO  DISK = N''F:\Backup_Databases\backup_msdb.bak'' WITH NOFORMAT, NOINIT,  
    NAME = N''msdb-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO
    ',
            @database_name=N'master',
            @flags=0
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    /****** Object:  Step [Backup Database Master]    Script Date: 17/02/2014 17:27:16 ******/
    EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Backup Database Master',
            @step_id=4,
            @cmdexec_success_code=0,
            @on_success_action=1,
            @on_success_step_id=0,
            @on_fail_action=2,
            @on_fail_step_id=0,
            @retry_attempts=0,
            @retry_interval=0,
            @os_run_priority=0, @subsystem=N'TSQL',
            @command=N'BACKUP DATABASE [master]
    TO  DISK = N''F:\Backup_Databases\backup_master.bak'' WITH NOFORMAT, NOINIT,  
    NAME = N''master-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO
    ',
            @database_name=N'master',
            @flags=0
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Backup Database LanView',
            @enabled=1,
            @freq_type=4,
            @freq_interval=1,
            @freq_subday_type=1,
            @freq_subday_interval=0,
            @freq_relative_interval=0,
            @freq_recurrence_factor=0,
            @active_start_date=20140208,
            @active_end_date=99991231,
            @active_start_time=20000,
            @active_end_time=235959,
            @schedule_uid=N'92844be4-6e9a-434d-9906-c53ccb4da900'
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    COMMIT TRANSACTION
    GOTO EndSave
    QuitWithRollback:
        IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
    EndSave:

    GO

    segunda-feira, 17 de fevereiro de 2014 20:30
  • Durval, muito obrigado, mas o que preciso e outra coisa. Eu quero um arquivo diário de backup. Ex.: Backup_<database>_17022014.bak --> Arquivo de backup de ontem.

    Backup_<database>_18022014.bak --> Arquivo de backup de hoje.

    Gostaria de fazer isso que está acima, porem não sei como fazer.

    Quanto o Maintence Plans, prefiro fazer pelo JOB. Segue o Script do JOB abaixo.

    USE [msdb]
    GO

    /****** Object:  Job [Backup Database Exemplo]    Script Date: 17/02/2014 17:27:15 ******/
    BEGIN TRANSACTION
    DECLARE @ReturnCode INT
    SELECT @ReturnCode = 0
    /****** Object:  JobCategory [Database Maintenance]    Script Date: 17/02/2014 17:27:15 ******/
    IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'Database Maintenance' AND category_class=1)
    BEGIN
    EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'Database Maintenance'
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

    END

    DECLARE @jobId BINARY(16)
    EXEC @ReturnCode =  msdb.dbo.sp_add_job @job_name=N'Backup Database Exemplo',
            @enabled=1,
            @notify_level_eventlog=0,
            @notify_level_email=0,
            @notify_level_netsend=0,
            @notify_level_page=0,
            @delete_level=0,
            @description=N'No description available.',
            @category_name=N'Database Maintenance',
            @owner_login_name=N'sa', @job_id = @jobId OUTPUT
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    /****** Object:  Step [Backup Database LanView]    Script Date: 17/02/2014 17:27:16 ******/
    EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Backup Database Exemplo',
            @step_id=1,
            @cmdexec_success_code=0,
            @on_success_action=1,
            @on_success_step_id=0,
            @on_fail_action=2,
            @on_fail_step_id=0,
            @retry_attempts=0,
            @retry_interval=0,
            @os_run_priority=0, @subsystem=N'TSQL',
            @command=N'BACKUP DATABASE [Exemplo] TO  DISK = N''F:\Backup_Databases\backup_Exemplo.bak'' WITH NOFORMAT, NOINIT,  NAME = N''Exemplo-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO
    ',
            @database_name=N'Exemplo',
            @flags=0
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    /****** Object:  Step [Backup Database model]    Script Date: 17/02/2014 17:27:16 ******/
    EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Backup Database model',
            @step_id=2,
            @cmdexec_success_code=0,
            @on_success_action=1,
            @on_success_step_id=0,
            @on_fail_action=2,
            @on_fail_step_id=0,
            @retry_attempts=0,
            @retry_interval=0,
            @os_run_priority=0, @subsystem=N'TSQL',
            @command=N'BACKUP DATABASE [model]
    TO  DISK = N''F:\Backup_Databases\backup_model.bak'' WITH NOFORMAT, NOINIT,  
    NAME = N''model-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO
    ',
            @database_name=N'master',
            @flags=0
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    /****** Object:  Step [Backup Database msdb]    Script Date: 17/02/2014 17:27:16 ******/
    EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Backup Database msdb',
            @step_id=3,
            @cmdexec_success_code=0,
            @on_success_action=3,
            @on_success_step_id=0,
            @on_fail_action=2,
            @on_fail_step_id=0,
            @retry_attempts=0,
            @retry_interval=0,
            @os_run_priority=0, @subsystem=N'TSQL',
            @command=N'BACKUP DATABASE [msdb]
    TO  DISK = N''F:\Backup_Databases\backup_msdb.bak'' WITH NOFORMAT, NOINIT,  
    NAME = N''msdb-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO
    ',
            @database_name=N'master',
            @flags=0
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    /****** Object:  Step [Backup Database Master]    Script Date: 17/02/2014 17:27:16 ******/
    EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Backup Database Master',
            @step_id=4,
            @cmdexec_success_code=0,
            @on_success_action=1,
            @on_success_step_id=0,
            @on_fail_action=2,
            @on_fail_step_id=0,
            @retry_attempts=0,
            @retry_interval=0,
            @os_run_priority=0, @subsystem=N'TSQL',
            @command=N'BACKUP DATABASE [master]
    TO  DISK = N''F:\Backup_Databases\backup_master.bak'' WITH NOFORMAT, NOINIT,  
    NAME = N''master-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO
    ',
            @database_name=N'master',
            @flags=0
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Backup Database LanView',
            @enabled=1,
            @freq_type=4,
            @freq_interval=1,
            @freq_subday_type=1,
            @freq_subday_interval=0,
            @freq_relative_interval=0,
            @freq_recurrence_factor=0,
            @active_start_date=20140208,
            @active_end_date=99991231,
            @active_start_time=20000,
            @active_end_time=235959,
            @schedule_uid=N'92844be4-6e9a-434d-9906-c53ccb4da900'
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
    IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
    COMMIT TRANSACTION
    GOTO EndSave
    QuitWithRollback:
        IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
    EndSave:

    GO

    JFonseca,

    Da forma que eu te indiquei, você vai conseguir o que pretende sem muito esforço e com fácil manutenção (quando necessário). Veja na imagem abaixo o resultado de um determinado banco de dados, com um backup FULL intercalado com alguns DIFFERENTIAL.

    Não esqueça de marcar todos os posts que te ajudaram como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    • Marcado como Resposta jfonseca terça-feira, 18 de fevereiro de 2014 19:11
    segunda-feira, 17 de fevereiro de 2014 21:25