To ensure recoverability of the transaction, when you issue a COMMIT TRANSACTION, the transaction log pages are immediately written to disk. The modified pages in the data cache, however, might not be written to disk until the data cache buffer is needed by other users, or until a checkpoint is issued either explicitly through the CHECKPOINT statement or implicitly through the internal SQL Server checkpoint process. Pages modified in the data cache can be written to disk prior to the transaction being committed, but not until the corresponding log records have been written to disk. (This happens if buffers in the data cache containing dirty pages are needed to load a new page.)