Eu tenho testado o recurso Grupos de Disponibilidade no SQL Server 2012 e estou descobrindo que há aproximadamente 15 segundos de tempo de inatividade quando o servidor principal faz failover no servidor secundário. Todas as consultas SQL executadas durante esse período falham até que a transição de failover seja concluída.
Existe alguma maneira de reduzir isso para 0 segundos e impedir que as consultas falhem durante a transição de failover?
Em outras palavras, existe uma maneira de fazer com que as consultas em execução durante a falha sejam redirecionadas para o servidor principal em vez de falhar ... e existe alguma maneira de obter novas conexões db para conectar-se imediatamente ao servidor secundário em vez de não conectar durante a transição de failover?
Atualmente, tenho 2 servidores configurados no grupo de disponibilidade.
Respostas:
Não, não há como fazer failover de tempo de inatividade zero com o AlwaysOn (ou no SQL Server em geral, pelo que sei). Para fazer isso, o SQL Server ao qual você está conectado precisaria fazer a transferência de estado para outro nó no meio da consulta e, como muitos failovers são inesperados, isso não é possível.
No entanto, você pode ativar "secundários somente leitura" no AlwaysOn e seus leitores terão tempo de inatividade zero quando o servidor principal falhar - pois eles estão se conectando a uma cópia secundária de qualquer maneira para fazer suas consultas SELECT, eles não até observe o failover. Ainda haveria uma interrupção para os usuários com uma conexão "Write" aberta, mas pelo menos uma parte da sua base de usuários seria ininterrupta.
fonte