Знам, че повечето бази данни имат ограничения, но Postgres не. Можете да стартирате произволно създаване на таблица с числа, промени в колони и промени в индекса в транзакция и промените не са видими за други потребители. Единицата COMMIT е успешна. Ето какви трябва да бъдат базите данни! :-)
Що се отнася до SQL Server, можете да стартирате DDL вътре в транзакция, но SQL Server не версия метаданни и така промените ще бъдат видими за другите, преди транзакцията да бъде ангажирана. Но някои DDL оператори могат да бъдат върнати назад, ако сте в транзакция, но за кои от тях работят и кои не, ще трябва да изпълните някои тестове.