Nemůžu uvěřit, že nejlepší odpověď tu sedí tak dlouho - je to velmi nebezpečná rada!
Existuje několik operací, které můžete provést na místě, aniž byste shodili tabulku:
- Rozbalte sloupec varchar https://dba.stackexchange.com/ otázky/5211/change-column-width
- Nastavte ve sloupci hodnotu null (ale ne naopak)
- Přejmenování sloupců pomocí sp_rename
Pokud se ocitnete v situaci, kdy změna sloupce není možná bez zrušení tabulky, můžete obvykle použít SELECT INTO
dotaz pro promítnutí dat do nové tabulky, pak starou tabulku zrušte (dočasně deaktivujte omezení) a poté přejmenujte promítanou tabulku. V tomto případě však budete muset kvůli údržbě přepnout databázi do režimu offline.