Tenho um cluster SQL Server 2019 FCI de 2 nós, que leva até 4 minutos para fazer failover de um nó para outro.
O cluster possui 3 bancos de dados de usuários, migrados das versões mais antigas do SQL Server:
- 2 bancos de dados com maior carga possuem modelo de recuperação SIMPLES (e nível de compatibilidade 100)
- 1 banco de dados possui modelo de recuperação COMPLETO (e nível de compatibilidade 130)
A alteração do modelo de recuperação e/ou o aumento do nível de compatibilidade reduziriam o tempo de failover do cluster?
Infelizmente, não tenho acesso ao servidor, mas verificar os logs é definitivamente a primeira coisa que já solicitei. Além disso, entendo que o nível de compatibilidade pode ser a última coisa a afetar o tempo de failover. Mas não consegui encontrar nenhum dado sobre a relação entre o modelo de recuperação e o tempo de failover de um cluster FCI.
Receio usar o ADR, mas li em algum lugar da Microsoft que ele foi introduzido no SQL Server 2019 e aprimorado no SQL Server 2022. Talvez quando eu conseguir a próxima atualização do ambiente em alguns anos.
Genericamente, não, na verdade não. A recuperação deve começar a partir do ponto de verificação mais antigo (algumas alterações com ADR/CTR), que deve estar no log, independentemente do modelo de recuperação.
Embora ADR/CTR possa ajudar (só ajuda se houver transações compatíveis com ADR em que o log tenha um ponto de verificação muito distante no passado ou tenha muitas transações abertas), não sabemos onde a maior parte do tempo é gasta e, portanto, é não tenho certeza do que pode ajudar.
Onde está o tempo gasto nisso? Quanto tempo leva para o cluster mover os recursos e colocá-los on-line? Quanto tempo leva para o SQL iniciar? Quanto tempo leva a recuperação do banco de dados (o banco de dados em questão)? Qual estágio da recuperação do banco de dados leva mais tempo?
Depois de ter um cronograma de eventos e saber quanto é gasto em cada etapa, será possível uma investigação sobre a possível redução do tempo gasto nessa etapa. Até então, é uma suposição aleatória.
Se o longo failover for devido ao tempo de restauração excessivo, considere alterar o tempo de recuperação de destino do banco de dados ou configurar o Accelerated Database Recovery . -David Browne-Microsoft