Temos várias tabelas em nosso banco de dados que possuem VARCHAR(MAX)
colunas onde a VARCHAR(500)
(ou algo muito menor que max) será suficiente. Naturalmente, quero limpá-los e reduzir os tamanhos para níveis mais razoáveis. O 'como' fazer isso eu entendo: minha pergunta é o que a alteração dessas colunas fará nas páginas e existentes no disco? (Há muitas informações por aí sobre o que acontece quando você aumenta uma coluna, mas é difícil encontrar informações sobre o que acontece quando você diminui uma.)
Algumas das tabelas têm uma contagem de linhas muito pequena, então não estou preocupado com o custo da alteração, mas algumas são muito grandes e estou preocupado com a possibilidade de serem reorganizadas e causar muito bloqueio/tempo de inatividade. Em termos práticos, quero apenas uma maneira de estimar uma janela de manutenção. Em geral, gostaria de entender melhor como o mecanismo de banco de dados se comporta neste caso.
Desde já, obrigado!
EDITAR:
Estou examinando 20 tabelas, embora apenas metade delas tenha contagens de linhas superiores a 1.000. O maior tem quase um milhão de linhas. O pior infrator é uma tabela com 350.000 linhas e quatro VARCHAR(MAX)
colunas que podem ser reduzidas ao VARCHAR(500)
nível.