Transact-SQL Statements Allowed in Transactions

Accessing and Changing Relational Data

Accessing and Changing Relational Data

Transact-SQL Statements Allowed in Transactions

You can use all Transact-SQL statements in a transaction, except for the following statements:

ALTER DATABASE LOAD DATABASE
BACKUP LOG LOAD TRANSACTION
CREATE DATABASE RECONFIGURE
DISK INIT RESTORE DATABASE
DROP DATABASE RESTORE LOG
DUMP TRANSACTION UPDATE STATISTICS

Also, you cannot use sp_dboption to set database options or use any system procedures that modify the master database inside user-defined transactions.