Temos um SQL Server 2017 AG de dois nós. Há um trabalho que analisa as configurações de crescimento automático para nossos bancos de dados e garante que eles não estejam configurados para usar uma porcentagem. No último dia, ele está dizendo continuamente que está atualizando as configurações de um banco de dados específico. Isso não aconteceu antes. Após investigação, descobri que sys.master_files no nó 01 diz que o arquivo de log de transações para o banco de dados crescerá em incrementos de 512 MB, mas sys.master_files do nó 02 diz que crescerá em incrementos de 10% O servidor 02 é o primário. Em ambas as réplicas, is_percent_growth é limpo em sys.database_files para este banco de dados. Observando as propriedades do arquivo no SSMS, ambas as réplicas mostram crescimento automático de 512 MB, provavelmente porque o SSMS procura em sys.database_files (uma suposição de minha parte).
Não houve failovers neste AG.
Perguntas
- Como poderia haver uma diferença de opinião entre sys.master_files e sys.database_files no nó 02?
- Como as configurações de crescimento automático do banco de dados ficaram fora de sincronia entre as duas réplicas?
- Como posso limpar o sinalizador is_percent_growth no nó 02 para não ter mais falsos positivos? Idealmente, eu gostaria de fazer isso sem deixar o AG offline.
Eu li https://stackoverflow.com/questions/4174520/sql-server-sys-master-files-vs-sys-database-files que explica a diferença entre sys.master_files e sys.database_files, mas não t explicar as circunstâncias aqui.
Aqui está um palpite:
Quando você propaga (automático ou por meio de backup) o banco de dados, as informações de sys.database_files são copiadas para sys.master_files na outra extremidade (que reside em uma tabela no banco de dados mestre).
Meu palpite é que uma alteração posterior para as propriedades do arquivo, que é armazenada (no que você vê) sys.database_files não é refletida em sys.master_files. Talvez algumas alterações acionem o estado a ser copiado em sys.master_files e algumas alterações não? E talvez isso tenha sido melhorado em versões posteriores?
Desculpe ser tão vago, eu não tenho o ambiente aqui para testar isso. Eu faria algumas alterações no arquivo ldf e veria se alguma dessas alterações faz com que sys.master_files na outra extremidade seja atualizado.
Aumente o tamanho do arquivo. Encolhê-lo (apenas 1 MB). Altere o tamanho máximo. Etc. Um de cada vez, é claro.