1. A method for storing copies of databases in a storage system, the method comprising: maintaining a plurality of copies of a source database on a storage system, each copy including a plurality of database blocks, wherein one or more database blocks are associated with at least two copies, the maintaining comprising, iteratively: receiving, from a backup server maintaining backups of the source database, a full backup of the source database; restoring the full backup of the source database to obtain a local copy of the source database; iteratively updating the local copy of the source database using information received from the backup server, comprising: receiving transaction log backups from the backup server; and updating the local copy of the source database by restoring the received transaction log backups; determining whether the local copy of the source database can be successfully updated using the information received from the backup server; responsive to detecting a failure in updating the local copy using the received information, receiving, from the backup server, another full backup of the source database; restoring the other full backup of the source database; and storing a subset of database blocks obtained by restoring the other full backup, the subset of database blocks corresponding to database blocks that do not match corresponding database blocks from the local copy of the source database.