Para todos aqueles que sugerem o espelhamento - não será possível espelhar 400 bancos de dados. Você ficará sem threads de trabalho antes de atingir 400, seja em 32 ou 64 bits. Há pelo menos 2 threads de trabalho por banco de dados no principal e pelo menos 3 por banco de dados no espelho.
Realmente não tem nada a ver com as habilidades do DBA. Depende inteiramente do que os requisitos de HA do negócio ou aplicativo são - esses são os fatores determinantes, e não o que o DBA pode suportar. Se uma solução mais complexa for exigida , então, obter um DBA para lidar com ela também é necessário . Limitar sua solução de HA por causa das habilidades do DBA é sem sentido.
O espelhamento de banco de dados também não é de detecção rápida e failover rápido - depende inteiramente de qual é a falha, qual é o tempo limite do parceiro de espelhamento, quais são as filas SEND e REDO. Pode demorar um pouco para que um failover termine, e o espelho decide se tornar o principal. Ajudei muitos clientes a implementar o espelhamento (tanto na Microsoft quando eu possuía espelhamento de banco de dados junto com o restante do Storage Engine), e desde a saída em 2007.
Esqueça o espelhamento desse número de bancos de dados.
Existem algumas perguntas fundamentais que você precisa responder antes de podermos lhe dar uma recomendação:
- Você quer ter uma cópia redundante de todos os bancos de dados ou apenas porções?
- Você quer poder usar as cópias redundantes? Para gravações ou apenas para leituras?
- Qual é a taxa de geração de log de transações dos bancos de dados?
- Qual é a largura de banda da rede entre os dois sites?
O envio de log é provavelmente o mais fácil para você, tanto em termos de configuração, monitoramento e capacidade de trazer as cópias redundantes apenas rapidamente e dentro dos seus limites de perda de dados. Com o envio de logs, você pode optar por colocar as cópias redundantes on-line sem concluir a restauração de todos os backups de log de transações enfileirados para restauração, aceitando a perda de dados.
Você também pode efetuar failovers simples usando uma tecnologia de roteamento intermediária ou até mesmo algo tão simples como o NLB do Windows com configuração 0/100 ou alternar para 100/0. Eu também vi clientes usando a comutação DNS para efetuar failovers quando o nome do servidor não pode mudar.
Com a replicação, você precisa lidar com a latência imprevisível entre as transações que estão sendo colhidas do log de transações do banco de dados da publicação, atingindo o banco de dados de distribuição e sendo então enviadas / recebidas para o banco de dados de assinaturas pelo agente de distribuição. A replicação também pode ser distorcida e dificultar a tarefa de descobrir e redefinir - o envio de logs é muito simples.
Considerando que você usa seu próprio envio de logs, acredito que a taxa de geração de logs e a largura de banda da rede não sejam um problema. Eu ficaria com o envio de logs e evitaria a replicação. Nem pense no espelhamento de banco de dados, pois ele não funcionará para o seu volume.
Espero que isso ajude - isso é realmente dois dias de discussão quando eu ensinar HA aos DBAs dentro da Microsoft - resumido em 5 minutos respondendo isso. Sinta-se à vontade para fazer follow-up com perguntas mais específicas nos comentários.