Origem CDC
A fonte CDC lê um intervalo de dados de alteração de SQL Server tabelas de alterações de 2014 e fornece as alterações downstream para outros componentes do SSIS.
O intervalo de leitura de dados de alteração pela origem CDC é chamado Intervalo de Processamento CDC e é determinado pela tarefa Controle de CDC que é executada antes do início do fluxo de dados atual. O Intervalo de Processamento CDC é derivado do valor de uma variável de pacote que mantém o estado do processamento CDC para um grupo de tabelas.
A origem CDC extrai dados de um banco de dados do SQL Server usando uma tabela de banco de dados, uma exibição ou uma instrução SQL.
A origem CDC usa as configurações seguintes:
Um gerenciador de conexões SQL Server ADO.NET para acessar o banco de dados SQL Server CDC. Para obter mais informações sobre como configurar a conexão de origem CDC, confira Editor de Origem CDC (Página Gerenciador de Conexões).
Uma tabela habilitada para CDC.
O nome da instância de captura da tabela selecionada (se houver mais de uma).
O modo de processamento de alteração.
O nome da variável de pacote do estado CDC com base no qual o intervalo de Processamento CDC é determinado. A origem CDC não modifica essa variável.
Os dados retornados pela Origem CDC são iguais aos retornados pelas funções do CDC do SQL Server cdc.fn_cdc_get_all_changes_<capture-instance-name> ou cdc.fn_cdc_get_net_changes_<capture-instance-name> (quando disponível). A única adição opcional é a coluna, __$initial_processing , que indica se o intervalo de processamento atual pode se sobrepor a uma carga inicial da tabela. Para obter mais informações sobre o processamento inicial, consulte CDC Control Task.
A origem CDC tem uma saída regular e uma saída de erro.
Tratamento de erros
A origem CDC tem uma saída de erro. A saída de erro de componente inclui as colunas de saída seguintes:
Código de Erro: o valor sempre é -1.
Coluna de Erro: a coluna de origem que causa o erro (para erros de conversão).
Colunas de Linha de Erro: os dados de registro que causam o erro.
Dependendo da configuração de comportamento de erro, a origem CDC oferece suporte ao retorno de erros (conversão de dados, truncamento) que ocorre durante o processo de extração na saída de erro. Para obter mais informações, consulte Editor de Origem CDC (Página Saída de Erro).
Suporte do tipo de dados
O componente origem CDC para Microsoft oferece suporte a todos os tipos de dados do SQL Server que estão mapeados para os tipos de dados SSIS corretos.
Solucionando problemas da origem CDC
A seguir são apresentadas informações sobre como solucionar problemas de origem CDC.
Use este script para isolar problemas e reproduzi-los no SQL Server Management Studio
Uma operação de origem CDC é governada pela operação da tarefa Controle CDC executada antes da chamada à origem CDC. A tarefa Controle CDC prepara o valor da variável de pacote do estado CDC para conter LSNs de início e término. Ela executa uma função equivalente ao seguinte script:
use <cdc-enabled-database-name>
declare @start_lsn binary(10), @end_lsn binary(10)
set @start_lsn = sys.fn_cdc_increment_lsn(
convert(binary(10),'0x' + '<value-from-state-cs>', 1))
set @end_lsn =
convert(binary(10),'0x' + '<value-from-state-ce>', 1)
select * from cdc.fn_cdc_get_net_changes_dbo_Table1(@start_lsn,
@end_lsn, '<mode>')
onde:
<cdc-enabled-database-name> é o nome do banco de dados do SQL Server que contém as tabelas de alterações.
<value-from-state-cs> é o valor que aparece na variável de estado CDC como CS/<value-from-state-cs>/(CS significa Current-processing-range-Start, início atual do intervalo de processamento).
<value-from-state-ce> é o valor que aparece na variável de estado CDC, como em CE/<value-from-state-cs>/(CE significa Current-processing-range-End).
<mode> corresponde aos modos de processamento CDC. Os modos de processamento têm um dos seguintes valores: Tudo, Tudo com Valores Antigos, Rede, Rede com Máscara de Atualização, Rede com Mesclagem.
Este script ajuda a isolar problemas reproduzindo-os no SQL Server Management Studio, onde é fácil reproduzir e identificar erros.
Mensagem de erro do SQL Server
A mensagem seguinte poderá ser retornada pelo SQL Server:
Um número insuficiente de argumentos foram fornecidos ao procedimento ou função cdc.fn_cdc_get_net_changes_<..>.
Esse erro não indica que um argumento está faltando. Significa que os valores de LSN de início ou fim na variável de estado CDC são inválidos.
Configurando a origem CDC
Você pode configurar a origem CDC programaticamente ou por meio do SSIS Designer.
Para obter mais informações, consulte um dos tópicos a seguir.
A caixa de diálogo Editor Avançado contém as propriedades que podem ser definidas programaticamente.
Para abrir a caixa de diálogo Editor Avançado :
- Na tela Fluxo de Dados do projeto do SQL Server 2014 Integration Services (SSIS), clique com o botão direito do mouse na origem CDC e selecione Mostrar Editor Avançado.
Para obter mais informações sobre as propriedades que podem ser definidas na caixa de diálogo Editor Avançado , consulte CDC Source Custom Properties.
Nesta seção
Conteúdo relacionado
- Entrada de blog, Modos de processamento para a origem de CDC, em mattmasson.com.