Server and Database role memberships required to add columns and constraints
First, the rollback transaction will undo what you are doing. Use commit transaction instead.


Yes
DB_owner in a database named XXX
Do you have a "USE XXX" in your script? I normally remove that stuff to protect DB names and server names when posting.  What you are saying here does not make sense to me.