Em um grupo Always On Availability, entendo que uma réplica secundária assíncrona solicita ao primário que os blocos sejam enviados. No entanto, gostaria de saber com que frequência é essa tarefa (para saber o possível período de perda de dados) e saber se essa frequência pode ser alterada (para minimizar os dados o período de perda de dados).
relate perguntas
-
SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado
-
Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?
-
Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Como determinar se um Índice é necessário ou necessário
A replicação do banco de dados não ocorre em um período de tempo específico - o primário replica os dados para cada secundário constantemente. Se o secundário for assíncrono, o primário replicará os dados para ele o mais rápido possível. Se não houver gargalos, um secundário assíncrono só ficará atrás do que está atualmente em voo.
Existem DMVs que fornecem estatísticas mostrando quantos dados são enfileirados para cada secundário e os últimos tempos de confirmação. Existe uma fila de envio de log, que é basicamente transações no log no primário que ainda não foram enviadas no secundário. A outra fila é a fila de redo no secundário, que são as transações que foram recebidas e gravadas no log, mas ainda não foram confirmadas no arquivo de dados.
Existem vários artigos, como Medindo o atraso de sincronização do Grupo de Disponibilidade , que possuem consultas interessantes para ver rapidamente quantos dados estão em cada uma das filas, e qualquer bom software de monitoramento também fornecerá uma visualização com essas informações.
Além disso, para ser claro, sua referência a "blocos" está incorreta, pois a replicação do banco de dados não funciona com base em blocos. A replicação de banco de dados usa transações.
Portanto, para responder à sua pergunta sobre o que você pode fazer para minimizar a quantidade potencial de perda de dados, basta garantir que o secundário tenha desempenho de armazenamento adequado para acompanhar e que haja taxa de transferência de rede adequada para transferir dados do primário para o secundário tão rápido quanto ele é gerado.
Um item a ser observado é que a largura de banda não é igual ao trhoughput. Se você tiver um link de 100 Mbs, não obterá uma taxa de transferência de 100 Mbs. Se houver latência significativa, sua taxa de transferência será muito menor. Veja Por que sua taxa de transferência máxima é menor que sua largura de banda para uma boa explicação. Os aceleradores de WAN podem ser usados, se necessário, para superar a alta latência em um link e fornecer melhor taxa de transferência.