【SQL Server】Alter Table 項目の追加・変更・削除

今日はSQL Serverネタです。
最近、Azure SQLの開発をしているのですが、SSMS(SQL Server Management studio)からテーブルの構造を更新できないのでデータ定義言語(Data Definition Language, DDL)で更新しています。

開発時はローカルのSQL Serverで全て行っていたのですが、いざAzure SQLにリリースという段階になるとローカルで修正して本番に移すという作業が出来ない状況になることがあります。
客先で桁あふれデータを見つけたりしてね。。。
そんな時、常日頃SSMSで行っていたテーブル構造の変更をDDLでやらなくてはいけないので、あれ?なんだったけ?ってなります。

ちなみに、Azure SQLをSSMSで行うことはSQL Server 2016のSSMSまではできませんでしたが、SQL Server 2016のSSMSでは可能になりました。この記事を書いている段階ではCTP3版ですが、問題なく編集できます。
非常に助かります。今まで当たり前にできてたことができないって、ほんと面倒に思えますから。
テーブル構造も早く変更できるようにしてもらえればありがたいのですが。。。

本題に戻ります。
忘れてしまっていたテーブル構造を変更するDDLですが、以下の通りです。
追加:Alert Table [table] add [column_name] [column_datatype](,[column_name] [column_datatype]);
変更:Alter Table [table] alter column [column_name] [column_datatype](,[column_name] [column_datatype]);
column名の変更:sp_rename @objname='[table].[old_column_name]’, @newname='[new_column_name]’, @objtype=’column’;
削除:Alter Table [table] drop column [column_name](,[column_name]);

こんな感じです。
その内SSMSで変更できるようになると思います。
本来、Azure SQLにテストリリースする段階では、仕様の変更など無いにこしたことなのですが、実データを流し込むと桁あふれが起こったり、エンドユーザが実画面を見て「こうだったらもっと便利なのに」ってフラグを追加して処理を分岐させたり、いろいろなケースでちょっと修正となることも多いと思います。
特に中小企業では業務設計も仕様確定も固まっていないことも多く、手戻りを覚悟して構築していくことも多々あるので。
この辺りの事前把握を行う構築スキルをもっと磨いていきたいです。

Alter TableのSQL Serverの備忘録まで。