Je n'arrive pas à croire que la meilleure réponse soit restée ici pendant si longtemps - c'est un conseil très dangereux !
Il existe peu d'opérations que vous pouvez effectuer sur place sans supprimer votre table :
- Développer une colonne varchar https://dba.stackexchange.com/ questions/5211/modifier-la-largeur-de-la-colonne
- Rendre une colonne nullable (mais pas l'inverse)
- Renommer les colonnes à l'aide de sp_rename
Si vous vous trouvez dans la situation où la modification d'une colonne n'est pas possible sans supprimer la table, vous pouvez généralement utiliser un SELECT INTO
query pour projeter vos données dans une nouvelle table, puis supprimez l'ancienne table (désactivant temporairement les contraintes) puis renommez la table projetée. Dans ce cas, vous devrez mettre votre base de données hors ligne pour la maintenance.