Estou tentando determinar por que DBCC DBINFO
está retornando resultados diferentes do que está contido no log de erros. Aqui está a configuração:
Réplica secundária (acesso somente leitura -- Confirmação assíncrona AlwaysOn HA AG)
- Job foi executado em com
02/05/2018 09:00:00 PM
sucesso, com uma duração de02:22:21
- O único passo no trabalho é
DBCC CHECKDB(myDB)
- Quando eu corro
DBCC DBINFO('myDB') WITH TABLERESULTS
eu vejodbi_dbccLastKnownGood 02/05/2018 00:00:40.113
. Isso deve ser02/05/2018 11:22 PM
. - Quando verifico o log de erros, vejo
02/05/2018 11:22:09 PM DBCC CHECKDB(myDB) executed by myAccount found 0 errors and repaired 0 errors. Elapsed time : 2 hours 22 minutes 9 seconds. Internal database snapshot has split point LSN ... and first LSN ...
Resolvi verificar a PRIMARY REPLICA onde o DBCC CHECKDB também está sendo executado (tudo isso é configurado pelo fornecedor).
- O subplano funcionou com
02/05/2018 00:00:00 AM
sucesso, com uma duração de02:14:40
- Quando eu corro
DBCC DBINFO('myDB') WITH TABLERESULTS
, vejodbi_dbccLastKnownGood 02/05/2018 00:00:40.113
qual é o mesmo que o RoR, mas deve ser02/05/2018 02:15 AM
. - Quando verifico o log de erros, vejo
02/05/2018 02:15:12 AM DBCC CHECKDB(myDB) WITH no_infomsgs exextued by myAccount found 0 error and repaired 0 errors. Elapsed time : 2 hours 14 minutes 40 seconds. Internal database snapshot has split point LSN ... and first LSN ...
Não consigo descobrir de onde DBCC DBINFO
vem esses resultados e por que não corresponde aos logs do SQL. Configurei um trabalho para me enviar um alerta quando dbi_dbccLastKnownGood for > 24 horas.
Alguma ideia? Deixe-me saber se mais informações são necessárias.
Como Erik apontou, as réplicas de AG atualmente são somente leitura, portanto não podem atualizar os valores aqui. Além disso, se ele atualizasse os valores, ele seria substituído na próxima vez que algo fosse atualizado no primário e o bloco de log fosse enviado para o secundário.
O trabalho começou 2:14:40 atrás, que é a hora do último checkdb bom conhecido - isso é verdade. Você começou então, funcionou por 2 horas e 14 minutos +/- algumas coisas de agente. Os tempos parecem bons para mim, não é como se o trabalho durasse 5 segundos e mostrasse uma última boa de 6 horas atrás.
Acredito que o problema é que você espera que o CHECKDB mostre o bom valor no final da execução versus sendo atualizado quando foi executado. Isso não deve ser um problema.