terça-feira, 23 de abril de 2019

Carga Incremental Usando Tabela de Controle

Este padrão utiliza uma tabela de controle com a data da última carga para realizar a carga incremental.

CREATE TABLE dbo.ControlTable
(
SourceTable varchar(50) NOT NULL,
LastLoadID int NOT NULL,
LastLoadDate datetime NOT NULL,
RowsInserted int NOT NULL
)  ON [PRIMARY]
GO


A coluna LastLoadDate é usada como referência nas querys, para que as consultas sejam feitas apenas sob dados com data superior a data do último processamento.

A tabela matém um registro para cada tabela envolvida no processo.

O processo consiste em 3 etapas:

1-Buscar a última data de processamento da tabela
2-Extrair os dados com base na data de referência
3-Atualizar a tabela de controle


















Ler a data da última atualização


A tabela de controle armazena uma linha para cada tabela envolvida na carga, a data da última atualização e o número de linhas importadas.

A primeira etapa faz a leitura desta tabela e armazena em uma variável que será usada para filtrar a extração.

A configuração do ResultSet precisa ser "Single Row"










































Após configurar a query para buscar a última data de atualização, é necessário mapear o resultado em uma variável.


















Extrair dados incrementais 

A segunda etapa consiste em configurar a fonte de dados para buscar os dados desejados a partir da data da última carga.



































A consulta é parametrizada com ? para indicar que naquela parte da query serão usados paremetros





























O primeiro parâmetro é a variável populada na etapa anterior.

O segundo é a data do processamento do pacote. Ou seja, o processo irá extrair tudo a partir da data da última carga até o momento que o pacote é executado.


Atualizando a tabela de controle

Após a nova carga, é necessário alterar a data a última atualização na tabela de controle para que na próxima carga os dados sejam atualizados a partir do ponto que o processo foi realizado sucesso na última vez.





















Atualizando com base na data de execução do pacote



Mapear o parametro da atualização com base na data do processamento do pacote



Professional SQL Server 2014 Integraton Services

Nenhum comentário:

Postar um comentário