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