A computer-implemented method for database rollback based on a write-ahead log associated with a database, wherein the database rollback results in a recreated state of the database, and for indicating whether the recreated state of the database is identical to an actual state of the database at a specific time, wherein the database comprises a first set of pages ( D = {1,..., N}, N ≥ 1, 110), wherein the database is associated with the write-ahead log, WAL, into which a set of frames ( S = { F 1,...}, 120) representing revised contents of a second set of pages ( D' = { P' 1,...}, 130) has been recorded, each frame ( F j, j ≥ 1) representing a revised content of a corresponding page ( P' j ∈ [1, L], L ≥ N), wherein the database is further associated with checkpoint information indicating that revised content of at least one page was transferred from the WAL to the database at a set of at least one checkpoint ( C = { c 1,...}), each checkpoint ( c l, l ≥ 1) corresponding to a point in time and each frame in the set of frames corresponding to one of said at least one checkpoint, wherein the WAL further comprises information allowing the frames to be chronologically ordered, the method comprising the steps of: selecting, in the set of frames recorded to the WAL, a specific frame ( F M) representing a specific revised content of a corresponding specific page ( P M), said specific frame corresponding to a specific checkpoint ( d M ∈ C) that chronologically precedes exactly one checkpoint in the set of at least one checkpoint, the specific checkpoint corresponding to a specific time, and identifying, in the set of frames, a first subset of frames ( S f ⊆ S) containing the specific frame and thereto zero or more chronologically preceding frames representing the most recently revised contents of as many as possible of the second set of pages, each frame corresponding to the specific checkpoint ( d M); extracting, from the first set of pages, a first subset of pages ( D 1 ⊆ D) such that the first subset of pages includes all pages that do not have revised contents in any frame of the first subset of frames ( S f); extracting, from the corresponding pages of the first subset of frames ( S f), a second subset of pages ( D' f ⊆ D'), the revised content of which is represented by the first subset of frames; performing, based on the content of the first subset of pages ( D 1 ⊆ D) and the revised content of the second subset of pages ( D' f ⊆ D'), a rollback of the database resulting in the recreated state of the database, wherein the recreated state of the database contains the specific revised content of the specific page ( P M); determining whether any subset of corresponding pages ( D' l ⊆ D'), of a second subset of the set of frames ( S l ⊆ S) containing zero or more to the specific frame chronologically subsequent frames each corresponding to the specific checkpoint ( d M), contains at least one page ( P A ∈ d' l) that is not part of the second subset of pages ( P A ∉ D' f), and upon determining that at least one such subset of corresponding pages of the second subset of the set of frames contains at least one page that is not part of the second subset of pages, indicating that the recreated state of the database is not identical to an actual state of the database at the specific time when the specific frame was recorded to the WAL. selecting, in the set of frames recorded to the WAL, a specific frame ( F M) representing a specific revised content of a corresponding specific page ( P M), said specific frame corresponding to a specific checkpoint ( d M ∈ C) that chronologically precedes exactly one checkpoint in the set of at least one checkpoint, the specific checkpoint corresponding to a specific time, and identifying, in the set of frames, a first subset of frames ( S f ⊆ S) containing the specific frame and thereto zero or more chronologically preceding frames representing the most recently revised contents of as many as possible of the second set of pages, each frame corresponding to the specific checkpoint ( d M); extracting, from the first set of pages, a first subset of pages ( D 1 ⊆ D) such that the first subset of pages includes all pages that do not have revised contents in any frame of the first subset of frames ( S f); extracting, from the corresponding pages of the first subset of frames ( S f), a second subset of pages ( D' f ⊆ D'), the revised content of which is represented by the first subset of frames; performing, based on the content of the first subset of pages ( D 1 ⊆ D) and the revised content of the second subset of pages ( D' f ⊆ D'), a rollback of the database resulting in the recreated state of the database, wherein the recreated state of the database contains the specific revised content of the specific page ( P M); determining whether any subset of corresponding pages ( D' l ⊆ D'), of a second subset of the set of frames ( S l ⊆ S) containing zero or more to the specific frame chronologically subsequent frames each corresponding to the specific checkpoint ( d M), contains at least one page ( P A ∈ d' l) that is not part of the second subset of pages ( P A ∉ D' f), and upon determining that at least one such subset of corresponding pages of the second subset of the set of frames contains at least one page that is not part of the second subset of pages, indicating that the recreated state of the database is not identical to an actual state of the database at the specific time when the specific frame was recorded to the WAL.