Opção recovery interval

Use a opção recovery interval para definir o número máximo de minutos por banco de dados necessário para o Microsoft SQL Server recuperar bancos de dados. Cada vez que uma instância do SQL Server se inicia, ela recupera cada banco de dados, revertendo transações não confirmadas e efetuando roll forward em transações confirmadas, mas cujas alterações ainda não foram gravadas em disco quando uma instância do SQL Server parou. Essa opção de configuração define um limite superior no tempo necessário para recuperar cada banco de dados. O padrão é 0, indicando a configuração automática pelo SQL Server. Na prática, isso significa um tempo de recuperação inferior a um minuto e um ponto de verificação a cada minuto aproximadamente para bancos de dados ativos.

A opção recovery interval controla quando o SQL Server emite um ponto de verificação em cada banco de dados. Os pontos de verificação são concluídos em uma base por banco de dados. Em um ponto de verificação, o SQL Server assegura que todas as informações de log e todas as páginas modificadas sejam liberadas da memória para o disco. Isso limita o tempo necessário para recuperação, limitando o número de roll forwards para assegurar que elas estão no disco. As modificações anteriores ao ponto de verificação não precisam ter roll forward efetuado porque elas já foram liberadas para o disco no ponto de verificação.

A opção recovery interval não afeta o tempo necessário para desfazer transações demoradas. Por exemplo, se uma transação demorada levar duas horas para executar atualizações antes que o servidor seja desabilitado, a recuperação real levará um tempo consideravelmente mais longo que o valor do recovery interval para reverter uma transação demorada.

O SQL Server calcula quantas modificações de dados consegue efetuar roll-forward no intervalo de tempo de recuperação. Tipicamente, o SQL Server emite um ponto de verificação em um banco de dados quando o número de modificações de dados feitas no banco depois que o último ponto de verificação atinge o número calculado pelo SQL Server de rolagem para frente no intervalo de tempo de recuperação. Às vezes o SQL Server emitirá o ponto de verificação quando o log se tornar 70% completo, se isso for menor que o número calculado.

A freqüência de pontos de verificação em cada banco de dados depende da quantidade de modificações de dados realizadas e não de medidas baseadas em tempo. Um banco de dados usado principalmente em operações somente leitura não terá muitos pontos de verificação. Um banco de dados de transação terá pontos de verificação freqüentes.

Mantenha o recovery interval definido como 0 (auto-configuração) a menos que você note que os pontos de verificação prejudicam o desempenho porque ocorrem muito freqüentemente. Se for esse o caso, tente aumentar o valor aos poucos.

A opção recovery interval é uma opção avançada. Se você estiver usando o procedimento armazenado no sistema sp_configure para alterar a configuração, só será possível alterar a opção recovery interval quando show advanced options estiver definida como 1. A configuração entra em vigor imediatamente sem a reinicialização do servidor.

Para definir a opção recovery interval com um valor maior que 60 (minutos) é necessário executar a instrução RECONFIGURE WITH OVERRIDE.