Construindo um Processo de Carga Dinâmica e Incremental Usando o SSIS

Nesse post você aprenderá como criar um processo na ferramenta de integração de dados da Microsoft Integration Services que efetue a carga de várias tabelas com estruturas e dados diferentes de forma dinâmica


O processo de ETL demonstrado no vídeo abaixo está hoje em funcionamento em um dos nossos clientes da One Way Solution. Ele é responsável pela carga a Stage de Dados de um Data Warehouse. 

Para que seja possível executá-lo, criamos uma stored procedure de nome sp_return_columns que recupera as colunas que serão utilizadas de cada uma das tabelas que participarão do processo. Na Listagem 1 um segue o código caso você queira efetuar testes. 

CREATE PROCEDURE sp_return_columns
	@tablename VARCHAR(2000)
AS
DECLARE @return_column VARCHAR(8000)

;WITH data_capture AS
(
	SELECT STUFF(( SELECT  ',' + SC.name
	FROM sys.tables AS ST
	INNER JOIN sys.columns AS SC
	ON ST.object_id = SC.object_id
	WHERE ST.name = @tablename
	ORDER BY ST.name ASC,SC.name ASC
	FOR XML PATH('')), 1, 1, '') AS ColumnName
)
SELECT @return_column = ColumnName
FROM data_capture

SELECT @return_column AS ColumnName
GO

Listagem 1. Código SQL para criação da stored procedure sp_return_columns.

Para efetuar as cargas dinamicamente, criamos também algumas variáveis e dentro delas utilizamos expressões passando como parâmetro o nome das respectivas tabelas de Origem e Destino e a string de colunas concatenadas que foi disponibilizada através da execução da procedure sp_return_columns

Veja no vídeo como isso fora feito. O processo de carga incremental executa em aproximadamente 3 segundos.

Espero que gostem do vídeo e também poder ajudá-los.

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