Não posso acreditar que a resposta principal está aqui há tanto tempo - é um conselho muito perigoso!
Existem algumas operações que você pode fazer no local sem descartar sua tabela:
- Expandir uma coluna varchar https://dba.stackexchange.com/ perguntas/5211/change-column-width
- Tornar uma coluna anulável (mas não vice-versa)
- Renomear colunas usando sp_rename
Se você se encontrar na situação em que não é possível alterar uma coluna sem descartar a tabela, normalmente você pode usar um
SELECT INTO
query para projetar seus dados em uma nova tabela e, em seguida, elimine a tabela antiga (desativando temporariamente as restrições) e renomeie a tabela projetada. Você precisará colocar seu banco de dados offline para manutenção neste caso.