Com base no diagrama que você forneceu, você teria uma terceira caixa do SQL Server para permitir um failover automático do banco de dados espelhado. Consulte este link para obter uma descrição do espelhamento em uma configuração de alta disponibilidade - link .
Essa configuração funcionará, desde que você tenha a terceira instância do SQL Server para atuar como a função de testemunha. Isso funcionará um pouco como a maneira como o Windows Clustering funciona, onde você precisará ter a maioria dos servidores online para manter on-line o banco de dados espelhado. Se o seu servidor principal ficar offline, o servidor de espelhamento (secundário \ backup) assumirá a função principal. Quando o servidor voltar a ficar online, o banco de dados deverá se sincronizar.
Outra consideração também para essa configuração é que seu aplicativo depende apenas do banco de dados. Como o espelhamento é específico do banco de dados, e não específico do servidor, pode haver casos em que apenas um banco de dados seja "encaminhado" para o servidor secundário. Onde, se o aplicativo da Web for dependente de vários bancos de dados, será necessário dar uma consideração extra sobre como lidar com isso (isso é resolvido no SQL Server 2012 com grupos de disponibilidade)