Hier mal eine einfache Version mit purem T-SQL zum setzen von DEFAUL-Values eines Feldes.
DECLARE @sql AS nvarchar(1000) --- isActive = 1 IF NOT EXISTS (SELECT * FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = 'sys_User') AND name = 'isActive') BEGIN print 'create field with defaults'; SET @sql = 'ALTER TABLE sys_User ADD isActive BIT DEFAULT (1) NULL'; EXEC sp_executesql @sql; END ELSE BEGIN IF (SELECT cdefault FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = 'sys_User') AND name = 'isActive') > 0 BEGIN print 'drop contraint'; SET @sql = 'ALTER TABLE sys_User DROP CONSTRAINT ' +(SELECT name FROM sysobjects WHERE id = (SELECT cdefault FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = 'sys_User') AND name = 'isActive')); EXEC sp_executesql @sql; END print 'add contraint' SET @sql = 'ALTER TABLE sys_User ADD CONSTRAINT DF_'+(SELECT REPLACE(NEWID(),'-','_')) +' DEFAULT (1) FOR isActive'; EXEC sp_executesql @sql; END