It depends what database software you are using. With Oracle, we use Standby's servers, which I guess are Oracle propietary software. It allows fall back into another server that it update with all the transactions at a particular interval. We also use an oralce cluster, where requests load balance between 2 servers, and if one goes down, the other picks up the queries, transparent to the user.
Oracle is really expensive, though. I am not sure if there is anything ismilar for other db's.