Você não pode testar o banco de dados espelhado, pois ele não está acessível para leituras.
A replicação permitirá que você leia do assinante, mas a replicação não replica tudo.
Além disso, é muito pouco ortodoxo falar sobre a mudança e atualização da equipe do aplicativo enquanto a cópia está sendo atualizada. A equipe de aplicativos deve testar e atualizar um banco de dados teste , não um candidato para atualização de produção ... O que aconteceria com as alterações incompatíveis com o fluxo de atualizações recebidas?
Um cenário típico de atualização é assim:
- teste de desenvolvimento de aplicativos que funciona bem no antigo esquema do novo banco de dados. Se os problemas forem identificados, o aplicativo será corrigido (sem alterações de esquema no banco de dados).
- se as alterações no esquema forem necessárias, elas serão gravadas como scripts de atualização a serem implementados na implantação da nova versão. A equipe de
- dev assina o procedimento de atualização (todas as modificações de aplicativo e todas as modificações de esquema) A equipe de controle de qualidade
- faz uma cópia do banco de dados de produção e confirma que é possível fazer upgrade do aplicativo, aplicando todas as mudanças no esquema de alterações binárias após o upgrade, conforme recomendado pela equipe de desenvolvimento A equipe de controle de qualidade
- assina o procedimento de atualização
- A equipe de operações prepara o upgrade. Usar o espelhamento é uma ótima maneira, mas por razões de minimizar o tempo de inatividade durante a atualização, não por razões de validação do aplicativo, como você sugere
- Execute a atualização:
- Retire o aplicativo
- Falha no banco de dados (ou quebra de espelhamento, se você quiser ter um caminho de retorno seguro / rápido)
- Aplicar scripts de alterações de esquema ao novo banco de dados
- Aplicar patches binários ao aplicativo
- inicia a aplicação no novo db
- execute alguns testes de validação mínimos
- ativar o acesso ao aplicativo