A method for recovering system status consistently to a designed recovering time point in a distributed database, wherein the distributed database comprises a primary server and multiple region servers, comprising: when the region servers detect a change of system status, analyzing an event for the change to generate an event log and storing the event log to the database; after a preset condition, the region servers generate a snapshot respectively; when the primary server receives the instruction to recover the system status to a designed time point, indicates the region servers to implement: reading the event log and snapshots stored in region servers; finding the snapshot closest to the designed time point; finding the event log and snapshot corresponding to an time interval between the time recorded in the snapshot and the designed time point to recover the system status to the designed time point. |