Restrição completamente inútil, tanto quanto posso ver. Assumindo o padrão
FixedVar
format (em oposição aos formatos usados com compactação de linha/página ou colunas esparsas) e supondo que você esteja falando sobre varchar(1-8000)
colunas Todos os
varchar
os dados são armazenados no final da linha em uma seção de comprimento variável (ou em páginas off-row se não couberem na linha). A quantidade de espaço que consome nessa seção (e se termina ou não na linha) depende inteiramente do comprimento dos dados reais e não da declaração da coluna. O SQL Server usará o comprimento declarado na declaração da coluna ao alocar memória (por exemplo, para
sort
operações). A suposição feita nessa instância é que varchar
as colunas serão preenchidas até 50% do tamanho declarado em média
então isso pode ser uma coisa melhor de se olhar ao escolher um tamanho.