
A transaction protocol is described that allows a database transaction to begin as a local, lightweight transaction without involving a distributed transaction coordinator and then be promoted to a distributed transaction only when required, e.g. when more than one database connection is required. A promotable enlistment allows a first resource to begin processing a promotable transaction. If the resource is notified that the transaction is being promoted to a distributed transaction, the resour...











