>>>SSMS is generic tool and as such it quite often unnecessarily works the way you describe instead of just using ALTER TABLE. It could be quite expensive on big tables.
>>
>>In some cases the SQL itself doesn't allow some column changes - for instance, making a column not null when it was nullable and may contain nulls in some rows, if the column doesn't have a default. One solution is to create a default, apply it to all rows where there's a null in the field, then make the field not nullable.
>>
>>There may be other cases when altering a column is simply forbidden by SQL engine, and then creating a temp table, inserting from old, dropping old and then renaming new to old is the only way. SSMS, Toad and maybe other generic tools out there will just generate a script to do that.
>
>What is your point?
That sometimes this roundabout way IS necessary.