Projeto de DW e BI - 5º Parte - Introdução a Change Data Capture (CDC)

     O CDC é um novo recurso do SQL 2008 bastante interessante principalmente para os desenvolvedores de Data Warehouse e B.I. Esse recurso fornece um log de todas as alterações, exclusões e inserções ocorridas nas tabelas de um banco de dados. Tem por objetivo oferece uma solução eficaz ao desafio de executar com eficiência as cargas incrementais de tabelas de origem para Data Marts e Data Warehouse. O CDC registra, insere, atualiza e exclui atividades aplicadas às tabelas do SQL Server, disponibilizando os detalhes das alterações em um formato relacional de fácil utilização. As tabelas de alterações usadas pelo CDC contêm colunas que refletem a estrutura de coluna de uma tabela de origem controlada, junto com os meta dados necessários para entender as mudanças ocorridas. Por padrão esse recurso não fica habilitado quando se cria um banco de dados. É preciso habilitar esse recurso no banco e configurar quais tabelas usaram esse recurso. 

HABILITANDO E CONFIGURANDO O CDC 

     Como já falamos o CDC por padrão não vem habilitado quando se cria um banco de dados. Podemos ver isso executando os script abaixo e observando quais bancos estão com esse recurso habilitado. Veja o script:
USE MASTER




GO
SELECT name AS NomeBanco, 
       is_cdc_enabled AS Flag -- 0=Não Habilitado 
  FROM SYS.DATABASES          -- 1=Habilitado


     Agora vamos criar um banco de dados com o nome BICDC e habilita-lo com o recurso do CDC. Para habilitar o CDC vamos usar a procedure “sp_cdc_enable_db”.  Veja o Código:

CREATE DATABASE BICDC
GO
USE BICDC
GO
EXEC sys.sp_cdc_enable_db

     Vamos verificar se o recurso foi habilitado executando novamente o script:


SELECT name AS NomeBanco,
       is_cdc_enabled AS Flag --0=Não Habilitado
  FROM SYS.DATABASES          --1=Habilitado



     Percebemos agora que o banco BICDC esta com o flag = 1 motrando que esta habilitado o recurso CDC. Quando um banco de dados é habilitado com o recurso CDC ele cria alguns objetos conforme a figura abaixo: