Le operazioni su un server SQL che supporta le transazioni vengono effettuate generalmente all'interno di una transazione, appunto, che può essere avviata anche implicitamente (quando non vi è una transazione attiva, la transazione ha inizio con l'esecuzione di qualsivoglia query).

L'operazione di Commit conferma le eventuali modifiche apportate ai dati fino a quel momento (inserimenti, aggiornamenti, cancellazioni, ecc.) anche su più tabelle; l'operazione di Rollback annulla tali operazioni.

In sostanza, le operazioni all'interno di una transazione sono atomiche: o vengono confermate nella loro interezza o annullate allo stesso modo.

Chiamare Commit o Rollback senza avviare una transazione non ha senso (è un po' come eseguire una query senza aver aperto la connessione... se non hai una transazione attiva, cosa confermi??).

Ciao!