I have some sql script files where i am making some DDL changes as part of commit block
BEGIN TRANSACTION
-- CREATE/ALTER TABLE, COLUMNS, CONTRAINTS etc etc
COMMIT
Sometime when script fail, i still see the changes in DDL applied in database although this whole thing is in transaction block. What am I missing here?