Para descarregar relatórios, tenho uma replicação transacional em execução entre minha caixa de produção e meu servidor de relatórios (imagem superior nº 1). Isso funciona muito bem até que o instantâneo precise ser reconstruído. Durante esse período, os usuários/aplicativos/relatórios estão lendo um conjunto de dados incompleto enquanto o banco de dados de relatórios está sendo reconstruído.
Alguém mais experimenta esse problema? Qual é o melhor trabalho ao redor?
O nº 2 na imagem é uma solução razoável? Crie um banco de dados shell em cima de um repositório de dados. O banco de dados de relatórios não contém mais dados, mas apenas exibições que replicam a estrutura das tabelas no repositório de dados. Durante uma reconstrução do banco de dados "repositório de dados", o "banco de dados de relatórios" é definido offline para impedir que usuários/aplicativos/repositórios leiam dados incompletos?