Alterar o tempo de recuperação de destino de um banco de dados (SQL Server)

Aplica-se a: SQL Server

Este artigo descreve como definir ou alterar o tempo de recuperação de destino de um banco de dados no SQL Server usando o SQL Server Management Studio ou Transact-SQL. Por padrão, o tempo de recuperação de destino é de 60 segundos e o banco de dados usa pontos de verificação indiretos. O tempo de recuperação de destino estabelece um limite superior no tempo de recuperação deste banco de dados.

Essa configuração entra em vigor imediatamente e não requer uma reinicialização do SQL Server.

Observação

O limite superior especificado para um determinado banco de dados pela sua configuração de tempo de recuperação de destino poderá ser excedido se uma transação de longa execução provocar tempos excessivos de UNDO.

Limitações e restrições

Uma carga de trabalho transacional online em um banco de dados configurado para pontos de verificação indiretos pode apresentar degradação no desempenho. Pontos de verificação indiretos garantem que o número de páginas sujas esteja abaixo de certo limite, para que a recuperação do banco de dados seja concluída dentro da meta do tempo de recuperação. A opção de configuração do intervalo recovery interval usa o número de transações para determinar o tempo de recuperação em relação aos pontos de verificação indiretos, que usam o número de páginas sujas.

Quando pontos de verificação indiretos são habilitados em um banco de dados que recebe um grande número de operações DML, o gravador em segundo plano pode iniciar eliminação agressiva de buffers sujos no disco para garantir que o tempo necessário para executar a recuperação esteja dentro da meta do tempo de recuperação definido para o banco de dados. Isso poderá causar atividade extra de E/S em determinados sistemas, o que pode contribuir para um gargalo de desempenho, se o subsistema do disco estiver operando acima ou próximo do limite de E/S.

Permissões

Requer a permissão ALTER no banco de dados.

Use SQL Server Management Studio

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados do SQL Server e expanda-a.

  2. Expanda o contêiner Bancos de dados. Em seguida, clique com o botão direito do mouse no banco de dados a ser alterado e selecione no comando Propriedades.

  3. Na caixa de diálogo Propriedades do Banco de Dados, selecione a página Opções.

  4. No painel Recuperação, no campo Tempo de Recuperação de Destino (Segundos), especifique o número de segundos desejado como o limite superior do tempo de recuperação deste banco de dados.

Usar o Transact-SQL

  1. Conecte-se à instância do SQL Server onde o banco de dados reside.

  2. Use a instrução ALTER DATABASE da seguinte maneira:

    TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }

    target_recovery_time
    Começando com o SQL Server 2016 (13.x), o valor padrão é 1 minuto. Quando maior que 0 (o padrão para versões mais antigas) especifica o limite superior do tempo de recuperação para o banco de dados especificado no caso de uma falha.

    SECONDS
    Indica que target_recovery_time é expresso como o número de segundos.

    MINUTES
    Indica que target_recovery_time é expresso como o número de minutos.

    O exemplo a seguir define o tempo de recuperação de destino do banco de dados AdventureWorks2022 como 60 segundos.

    ALTER DATABASE AdventureWorks2022 SET TARGET_RECOVERY_TIME = 60 SECONDS;
    

Confira também