Se um failover automático verdadeiramente transparente for necessário e você não puder manipular uma sobrecarga de 2ms por transação, sua melhor opção provavelmente será a replicação bidirecional com um front-end de balanceador de carga muito bom (como F5 Big-IPs). Dessa forma, os dois servidores SQL estão sempre disponíveis.
Há muitas desvantagens associadas à replicação bidirecional - as alterações de esquema podem ser complicadas, você precisa refazer seus campos de identidade (diferentes sementes, incrementos pares / ímpares) e não é autocorreção. Você precisa de monitoramento para saber quando a replicação é interrompida e precisa de uma equipe 24 horas por dia, sete dias por semana, para agir rapidamente, porque os clientes não ficarão satisfeitos se não virem dados consistentes nos dois nós. Certas falhas também podem fazer com que os dados estejam em um nó e não no outro. Por exemplo, se a replicação parar de funcionar e, em seguida, 10 minutos depois, todo o servidor ficar inativo, o segundo servidor não verá esses 10 minutos de dados até que você obtenha o backup principal e corrija a replicação.