Estou testando a nova opção de detecção de nível de banco de dados na edição 2016 do SQL Enterprise SP2 CU7 e ela não parece estar funcionando conforme o esperado. Temos uma configuração de 2 nós, confirmação síncrona, failover automático em ambos os nós. A opção de detecção de integridade no nível do banco de dados está marcada. No nó primário, coloquei offline uma unidade que continha um dos arquivos de dados do banco de dados que está no AG. Executei um select * de uma tabela que lia do disco ausente e obtive o erro 823 esperado, que foi registrado no log de erros. Eu o executei algumas vezes e o log de erros gravou o 823 várias vezes.
O grupo de disponibilidade NÃO falhou como deveria quando isso aconteceu. Esperei cerca de 3 minutos para ver se ocorreria um failover, e isso nunca aconteceu. Como posso descobrir com que frequência a rotina de verificação de integridade de nível de banco de dados está configurada para ser executada? Eu entendo que isso precisa ver o problema em 4 execuções consecutivas de acordo com este artigo: failover de nível de banco de dados aprimorado
Verifiquei o valor do tempo limite da verificação de integridade no AG e era de 30 segundos.
Também revisei o nível de condição de falha no servidor e ele está definido como On CriticalServerErrors, mas pelo que entendi, essa configuração é completamente independente da verificação de integridade do nível do banco de dados e qualquer um deles deve ser capaz de acionar um failover por conta própria . Isso está correto?
A única coisa que posso pensar que está impedindo isso é o tempo limite pendente no gerenciador do WSFC. isso tem um valor de 3 minutos antes de colocar o recurso de cluster offline.
Alguma idéia de onde mais eu deveria estar procurando por que isso não falhou?
Como você está em 2016, as verificações de integridade no nível do banco de dados estão verificando se o banco de dados está online (o que colocar o arquivo secundário offline não mudará) e se podemos gravar no log de transações. Como ambos são verdadeiros, seu teste passa. É assim que funciona em 2016.
Sim, veja acima. Isso foi alterado para abranger mais em 2017.