Quando aggiungi una colonna con un valore predefinito, ciò che accade è che viene creato un vincolo predefinito:
create table _temp
( x int default 1)
sp_help _temp
risultato:
constraint_type constraint_name
DEFAULT on column x DF___temp__x__5A3B20F9
Quindi la clausola predefinita nella definizione di colonna è solo una scorciatoia per creare un vincolo; il valore predefinito non è una proprietà intrinseca di una colonna. Se vuoi modificare il valore predefinito per una colonna già esistente, devi prima eliminare il vincolo:
alter table _temp drop constraint DF___temp__x__5A3B20F9
E quindi crea un nuovo vincolo predefinito:
alter table _temp add constraint DF_temp_x default 2 for x