Nesse post será demonstrado através de um exemplo passo a passo uma forma de trabalhar com tabelas temporárias no SSIS (SQL Server Integration Services).
1. Crie um “SSIS Packages”.
2. Adicione um “Execute SQL Task” e um “Data Flow Task”.

3. Edite o “Execute SQL Task”, configure o item “Conection” para conectar a base de dados e no item “SQLStatement” digite o código abaixo:
create table #teste (id int, nome varchar(50))
insert #teste (id,nome) values (1,'aaa')
insert #teste (id,nome) values (2,'bbb')
4. Selecione em “Connection Managers” a conexão que foi criada para conectar na base de dados e abra a guia de propriedades (F4), na guia propriedade no item “RetainSameConnection” marque para “TRUE”.
5. Selecione o “Data Flow Task” e abra as propriedades (F4), altere o item “DelayValidation” para “TRUE”.
6. Edite o “Data Flow Task” que foi criado anteriormente e adicione o “OLE DB Source”, clique com o botão direito e selecione “Show Advanced Editor”.
7. Na aba “Connection Managers” seleciona a conexão criada para acesso a base de dados, na aba “Component Properties” no item “AccessMode” selecione “SQL Command” e no item “SqlCommand” digite “select * from #teste”.

8. Na aba “Input and Output Properties”, clique em “External Columns” e crie os campos da tabela e o seu tipo utilizando o botão “Add Column”, faça o mesmo para “Output Collumns”.
9. Na aba “Column Mappings” relacione os campos.
10. Para verificar o resultado da tabela temporária podemos adicionar um “Flat File Destination”.
Com isso finalizamos o exemplo que cria uma tabela temporária e trabalha com a mesma dentro de um “Data Flow Task” escrevendo o resultado em um arquivo texto.
Se for necessário trabalhar com uma tabela temporária com vários campos, a etapa 8 do nosso exemplo seria trabalhosa, pois teríamos que entrar com o nome e tipo de todos os campos da tabela, existe uma alternativa que pode ser utilizada nesse caso.
Substitua os passos 8 e 9 pelos seguintes:
1. Crie a tabela temporária no “SQL Sever Management Studio” como global “##temp”.
2. Edite o “OLE DB Source”, adicione a conexão a base de dados, selecione “SQL command” e digite “select * from ##teste”, clique em “OK”.
11. Clique em “OLE DB Source” e abra as propriedades (F4), altere o item “SqlCommand” para “select * from #teste”.
Essa alternativa para adicionar os campos da tabela temporária demonstrada acima é útil quando criamos a tabela com base em uma consulta (select) que retorna vários campos.