一番の答えがここに長い間置かれているなんて信じられません - それは非常に危険なアドバイスです!
テーブルを削除せずにインプレースで実行できる操作はいくつかあります:
- varchar 列を展開する https://dba.stackexchange.com/ question/5211/changeing-column-width
- 列を null 可能にする (逆は不可)
- sp_rename を使用して列の名前を変更する
テーブルを削除しないと列を変更できない場合は、通常、SELECT INTO
を使用できます。 クエリを使用してデータを新しいテーブルに射影し、古いテーブルを削除して (一時的に制約を無効にします)、射影されたテーブルの名前を変更します。ただし、この場合、メンテナンスのためにデータベースをオフラインにする必要があります。