Eu tenho um ambiente de produção altamente pressionado com nome de banco de dados DB1
. E quero executar um DBCC CHECKDB
processo semanal em um dos bancos de dados de lá.
(Você pode entender, não posso fazer isso no meu ambiente de produção, Performance IMPACT).
Então, pensei em usar um dos meus processos de Log-Shipping. Tenho um processo de Log-Shipping, de DB1
(Primário) para Banco de DB1_LS
Dados(Secundário) que se localiza em um servidor distante (servidor DWH).
Pergunta:
Existe uma maneira de fazer um backup completo do banco de dados secundário DB1_LS
?
Eu quero poder restaurá-lo e executar DBCC CHECKDB
nele ( COPY-ONLY BACKUP
?)
Eu acredito que você não pode fazer um backup nativo dos bancos de dados se eles estiverem no modo Standby/Read Only.
Portanto, fazer backup do banco de dados secundário não seria uma boa tentativa.
Além disso, se o LS DB estiver no "modo somente leitura", você poderá executar DBCC CHECKDB , ele será concluído, mas não entrará na página de inicialização e, portanto, não será a verificação que você esperava. Além disso, mesmo que relate ou encontre um erro, você não poderá executar uma instrução de reparo com DBCC CHECK.
O que você pode fazer é fazer backup do DB1 fora do horário de pico em uma rede para outra máquina de teste/desenvolvimento com recursos apropriados para restaurar o backup.
A partir do backup restaurado, você pode executar o DBCC CHECKDB no banco de dados restaurado.
Além disso, leia este excelente artigo de Aaron Minimizando o impacto do DBCC CHECKDB: DOs e DON'Ts para obter as melhores práticas.