Estou usando o SQL Server Change Data Capture em um banco de dados de produção. Para minha surpresa, descobri que, ao restaurar esse banco de dados para um ambiente inferior, os dados do CDC não são mantidos - todas as tabelas, funções e assim por diante desaparecem porque o SQL Server remove as informações do CDC durante a fase de recuperação de uma restauração para qualquer outro banco de dados além daquele que originou o backup.
Aprendi que existe uma RESTORE
opção,KEEP_CDC
, que pode ser usada em conjunto com a RECOVERY
opção (como a última etapa de uma cadeia de restauração) para evitar que as informações do CDC sejam removidas.
REFERÊNCIA Transact-SQL: argumentos RESTORE
KEEP_CDC
Apoiado por: RESTAURAR
KEEP_CDC deve ser usado para evitar que as configurações de captura de dados alterados sejam removidas quando um backup de banco de dados ou backup de log é restaurado em outro servidor e o banco de dados é recuperado. Não é permitido especificar esta opção ao restaurar um backup com a opção NORECOVERY.
Nossa organização usa o NetBackup como principal forma de fazer backup e restaurar bancos de dados. Conseguir um arquivo de backup fora disso não é algo fácil de fazer e provavelmente nunca poderia ser rotineiro. Temos um site que permite aos desenvolvedores restaurar backups de produção em outros ambientes sem ter que mexer nos próprios arquivos.
Pergunta: Então, do que eu realmente preciso — descobrir se há uma maneira no NetBackup 7.7 de especificar opções de restauração adicionais para que WITH_CDC
possam ser passadas para o comando RESTORE? Ou o NetBackup não usa uma RESTORE
declaração verdadeira? Parece que teria que usar de alguma forma a funcionalidade interna de restauração do SQL Server, caso contrário, não poderia acionar a fase de recuperação de uma restauração corretamente. Ou talvez eu esteja apenas fora do meu alcance, aqui.
Não consigo encontrar muitas informações sobre as habilidades do NetBackup e um engenheiro de banco de dados sênior garantiu que o NetBackup 7.7 não pode fazer isso. No entanto, estou me perguntando o quão profundamente ele pesquisou e se alguém talvez mais intimamente familiarizado com o produto possa saber uma maneira de hackear tal coisa. Aparentemente, a versão 8.0 será lançada em breve, mas novamente não consigo encontre on-line uma fonte sólida de documentação sobre como isso pode ser feito. (Parece que "argumentos de linha de comando adicionais" podem ser possíveis, mesmo que a opção não seja explicitamente suportada por meio de uma opção nomeada ou outra configuração.)
https://www.veritas.com/support/en_US.html
você terá que encontrar o Guia do SQL Agent para essa versão do Netbackup e ver o que ele suporta. Tecnicamente, você precisa do 7.5 para fazer backup do SQL 2012, mas acho que essa versão oferece suporte apenas aos recursos básicos. Acho que eles introduziram apenas alguns dos recursos avançados na versão 8, mas não posso dizer com 100% de certeza. Você precisará encontrar o documento para sua versão e verificar o que ele suporta
Acabei de encontrar esta pergunta respondida pela própria Veritas. Embora esta resposta seja para 7.5 em vez de 7.7, duvido que eles tenham adicionado isso nesse meio tempo.
www.veritas.com: O Netbackup suporta o recurso MS-SQL "WITH KEEP_CDC" ?
Muito decepcionante.