Ultimamente, em vez de apenas aumentar arquivos quando eles alcançam 80% de utilização, tenho sido mais proativo na recuperação de espaço por meio de truques comuns como desfragmentar pilhas, adicionar e soltar índices agrupados, implementar compactação de linhas ou páginas etc.
No entanto, existem alguns casos em que consegui recuperar ainda mais espaço executando o DBCC CLEANTABLE . Com centenas de bancos de dados em meu ambiente, não é possível saber o que os usuários fazem em cada um deles e é completamente aceitável que ocorram alterações envolvendo a eliminação de colunas de comprimento fixo. Normalmente, encontrei essas oportunidades examinando as contagens de linhas x contagens de páginas em alguns scripts de utilização de espaço de objeto que escrevi. Eu gostaria de dar um passo adiante, tentando automatizar a detecção desse tipo de cenário.
O que eu gostaria de saber é se alguém por aí está monitorando ativamente esse tipo de oportunidade e, se sim, o que você procura especificamente?
Meu pensamento era escrever algo como reunir o tamanho máximo e mínimo de uma linha, o número de linhas na tabela, o número de páginas alocadas e o número de páginas usadas, depois fazer algumas contas básicas para registrar resultados que estão bem fora do que seria "esperado".