Configurei alertas em todos os meus servidores de banco de dados e, de vez em quando, recebo o seguinte erro, às vezes ele continua e continua, outras vezes, algumas vezes aqui e ali.
The SQL Server performance counter 'Log Growths' (instance '_Total') of object 'SQLServer:Databases' now equals the threshold of 1.00.
Existe alguma configuração que eu possa alterar para impedir isso? Parece vir apenas de dois servidores.
Isso está informando que um ou vários logs de transações estão crescendo repetidamente, o que significa que está definido para o modo de recuperação FULL ou BULK LOGGED sem backups de log de transações ou com backups insuficientes ou alguém escreveu uma consulta muito ruim ou longa que está mantendo o log de transações ativo.
Você deve procurar todos os bancos de dados do modelo de recuperação COMPLETO naquele servidor e quando foi a última vez que um backup do log de transações ocorreu primeiro, pois isso é o mais perigoso. O tlog pode crescer até ocupar todo o disco, interrompendo todas as gravações nesse banco de dados ou em qualquer outro banco de dados com dados ou logs nesse disco, supondo que não haja um tamanho máximo definido. Se não houver, movendo para frente, você provavelmente desejará definir um tamanho máximo para que 1 DB não derrube todos os DBs tlogs.
Vê algum que está cheio? Em caso afirmativo, quando foi o último backup do log de transações? Aqui está um script para ajudá-lo nisso:
Se isso não fornecer as informações de que você precisa, aqui está uma maneira de encontrar as 10 principais transações mais antigas do msdn:
Finalmente, depois de ver qual banco de dados tem arquivos de log crescentes, você pode ver o que está mantendo o arquivo de log aberto. Pode até ser algo como configuração de replicação ou outras soluções HA que não foram totalmente removidas. Isso lhe dirá:
Isso não é um erro. É apenas um arquivo de log muito pequeno e com crescimento automático ativado. Isso significa que, enquanto houver transações em execução, o processo do servidor SQL precisa expandir o arquivo de log. A expansão do arquivo de log é um processo de encadeamento único e cada transação que precisa gravar algo no log de transações deve esperar. E não: sem IFI - você tem que esperar enquanto o servidor sql está gravando todos os zeros no disco.
Felizmente, você pode consultar os traços padrão sobre todos os eventos de encolhimento e crescimento. Modificado de sqlblog.com para eventos de redução/crescimento de log: