A method comprising: determining lost writes that may have occurred among a first set of data blocks of a first database (122, 108) and a second set of data blocks of a second database (108, 122); wherein each data block in said first set of data blocks corresponds to a respective data block in the second set, and is associated with a version identifier of a version of the respective data block in said second set; wherein each data block in said second set is associated with a version identifier of a version of said each data block in said second set; wherein said second set of data blocks is associated with a second checkpoint, for which any version of a data block in the second set that is associated with a particular version identifier below the second checkpoint, has been acknowledged to a database server (104, 116) as having been written to persistent storage of the second database (108, 122); wherein determining lost writes comprises: selecting a first data block from the first set of data blocks, selecting, from the second set of data blocks, a second data block that corresponds to the first data block, and determining that the first data block in the first set and the second data block in the second set satisfy one or more criteria, wherein the one or more criteria include that a version identifier of the first data block is between a version identifier of the second data block and the second checkpoint; and wherein the method is performed by one or more computing devices. determining lost writes that may have occurred among a first set of data blocks of a first database (122, 108) and a second set of data blocks of a second database (108, 122); wherein each data block in said first set of data blocks corresponds to a respective data block in the second set, and is associated with a version identifier of a version of the respective data block in said second set; wherein each data block in said second set is associated with a version identifier of a version of said each data block in said second set; wherein said second set of data blocks is associated with a second checkpoint, for which any version of a data block in the second set that is associated with a particular version identifier below the second checkpoint, has been acknowledged to a database server (104, 116) as having been written to persistent storage of the second database (108, 122); wherein determining lost writes comprises: selecting a first data block from the first set of data blocks, selecting, from the second set of data blocks, a second data block that corresponds to the first data block, and determining that the first data block in the first set and the second data block in the second set satisfy one or more criteria, wherein the one or more criteria include that a version identifier of the first data block is between a version identifier of the second data block and the second checkpoint; and selecting a first data block from the first set of data blocks, selecting, from the second set of data blocks, a second data block that corresponds to the first data block, and determining that the first data block in the first set and the second data block in the second set satisfy one or more criteria, wherein the one or more criteria include that a version identifier of the first data block is between a version identifier of the second data block and the second checkpoint; and wherein the method is performed by one or more computing devices.