CDC – Parte 06

Nesta etapa da série será possível aprender acerca das melhores práticas e pontos importantes para habilitação e manutenção do Change Data Capture em ambientes de Produção.


  1. Uma ótima prática de utilização do Change Data Capture é evitar habilitar a feature em colunas de uma tabela cujo não existe importância em armazenar o histórico de seus dados. Tabelas com grandes quantidades de colunas tendem a aumentar de maneira significativa a latência nas capturas das alterações;
  2. Somente habilite o suporte a Net Changes caso realmente seja necessário o seu uso. O trabalho que o CDC executa por detrás para realizar o controle dessas mudanças também prejudica a performance na utilização da feature;
  3. O Job de Cleanup dos dados históricos não possui um desempenho favorável quando executado em paralelo com o workload. Se possível, o job de Cleanup dos dados de alteração deve ser programado para horários com baixa ou nenhuma carga de trabalho;
  4. Uma das coisas mais importantes a que deve-se ter atenção no que diz respeito à captura de dados de alteração é o subsistema de log de transações. O arquivo de Log cresce significativamente quando o Change Data Capture é habilitado em um banco de dados. Além disso, registros de log permanecem ativos até o CDC processá-los. Isto significa que, especialmente em ambientes onde uma grande latência se acumula, o arquivo de Log pode crescer significativamente, porque o espaço de log não pode ser reutilizado até que o CDC execute o trabalho de carga dos dados ainda processados dentro do Log, mesmo no Recovery Mode Simple, ou mesmo depois de um backup de log no Recovery Mode Full;
  5. O Change Data Capture funciona em todos os Recovery Modes. Mas quando o CDC é habilitado, as operações que normalmente seriam minimamente logadas nos modos de recuperação Simple ou Bulk-logged são totalmente logadas para permitir ao CDC a capturar de todas as alterações;
  6. Esteja ciente que quando o disco de Log ficar cheio, você não poderá reduzí-lo fazendo um backup de log manualmente ou mesmo realizando um Shrink no arquivo até que o CDC tenha processado todas as transações;
  7. O Change Data Capture não pode processar as transações quando o disco de Log está cheio, porque a captura de dados de alteração escreve no arquivo de Log o que é realizado nas tabelas de histórico. Neste caso, a maneira mais fácil de resolver essa situação é adicionar temporariamente outro arquivo de Log em um disco diferente e deletá-lo após o CDC concluir a carga das tabelas de histórico;
  8. Planeje o crescimento do arquivo de Log. Esteja ciente que o Log File pode crescer de 200-300% a partir do tamanho original quando o Change Data Capture está habilitado na base de dados;
  9. Uma boa prática para manter o filegroup PRIMARY pequeno e para que possa-se ter uma clara distinção do que são dados transacionais e o que são dados históricos, é habilitar o CDC em um filegroup diferente;

No próximo post da série você começará a aprender sobre os componentes do MS Integration Services que são utilizados para trabalhar com o Change Data Capture, utilizando dessa maneira os dados históricos como fonte para cargas de Data Warehouses (DWs) e Operational Data Stores (ODSs).

Referência para o post – Tuning the Performance of Change Data Capture in SQL Server 2008.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s