If an application using an UltraLite database stops running unexpectedly, the UltraLite database automatically recovers to a consistent state when the application is restarted. All committed transactions flushed to memory prior to the unexpected failure are present in the UltraLite database. All transactions not flushed at the time of the failure are rolled back.
UltraLite does not use a transaction log to perform recovery. Instead, UltraLite stores state information for every row to determine the fate of a row when recovering. See UltraLite row states.
UltraLite provides protection against system failures, but not against media failures. The best way of making a backup of an UltraLite application is to synchronize with a consolidated database. To restore an UltraLite database, start with an empty database and populate it from the consolidated database through synchronization.
However, you can also copy the database file to a desktop computer as a manual backup mechanism in smaller UltraLite deployments.
On Palm OS, you can also set the PALM_ALLOW_BACKUP connection parameter to true. This allows you to back up the database over HotSync. See UltraLite PALM_ALLOW_BACKUP connection parameter.