Partilhar via


Transformação de pesquisa

Aplica-se a:Servidor SQL Tempo de execução da integração do SSIS no Azure Data Factory

A transformação Pesquisa executa pesquisas unindo dados em colunas de entrada com colunas em um conjunto de dados de referência. Use a pesquisa para acessar informações adicionais em uma tabela relacionada baseada em valores em colunas comuns.

O conjunto de dados de referência pode ser um arquivo de cache, uma tabela ou exibição existente, uma nova tabela ou o resultado de uma consulta SQL. A transformação Pesquisa usa um gerenciador de conexões OLE DB ou um gerenciador de conexões de cache para se conectar ao conjunto de dados de referência. Para obter mais informações, consulte Gerenciador de conexões OLE DB e Gerenciador de conexões de cache

Você pode configurar a transformação Pesquisa das seguintes maneiras:

  • Selecione o gerenciador de conexões que você deseja usar. Se você quiser se conectar a um banco de dados, selecione um gerenciador de conexões OLE DB. Se você quiser se conectar a um arquivo de cache, selecione um gerenciador de conexões de cache.

  • Especifique a tabela ou exibição que contém o conjunto de dados de referência.

  • Gere um conjunto de dados de referência especificando uma instrução SQL.

  • Especifique as junções entre a entrada e o conjunto de dados de referência.

  • Adicione colunas do conjunto de dados de referência à saída da transformação Pesquisa.

  • Configure as opções de cache.

A transformação Pesquisa oferece suporte aos seguintes provedores de banco de dados para o gerenciador de conexões OLE DB:

  • SQL Server

  • Oracle

  • DB2

A transformação Pesquisa tenta executar uma junção equivalente entre valores na entrada de transformação e valores no conjunto de dados de referência. (Uma equijunção significa que cada linha na entrada de transformação deve corresponder a pelo menos uma linha do conjunto de dados de referência.) Se uma equi-join não for possível, a transformação Pesquisa executará uma das seguintes ações:

  • Se não houver nenhuma entrada correspondente no conjunto de dados de referência, nenhuma associação ocorrerá. Por padrão, a transformação Pesquisa trata linhas sem entradas correspondentes como erros. No entanto, você pode configurar a transformação Pesquisa para redirecionar essas linhas para uma saída sem correspondência.

  • Se houver várias correspondências na tabela de referência, a transformação Pesquisa retornará somente a primeira correspondência retornada pela consulta de pesquisa. Se várias correspondências forem encontradas, a transformação Pesquisa gerará um erro ou aviso somente quando a transformação tiver sido configurada para carregar todo o conjunto de dados de referência no cache. Nesse caso, a transformação Pesquisa gera um aviso quando a transformação deteta várias correspondências à medida que a transformação preenche o cache.

A junção pode ser uma junção composta, o que significa que você pode unir várias colunas na entrada de transformação a colunas no conjunto de dados de referência. A transformação suporta unir colunas com qualquer tipo de dados, exceto DT_R4, DT_R8, DT_TEXT, DT_NTEXT ou DT_IMAGE. Para obter mais informações, consulte Tipos de dados do Integration Services.

Normalmente, os valores do conjunto de dados de referência são adicionados à saída da transformação. Por exemplo, a transformação Pesquisa pode extrair um nome de produto de uma tabela usando um valor de uma coluna de entrada e, em seguida, adicionar o nome do produto à saída da transformação. Os valores da tabela de referência podem substituir valores de coluna ou podem ser adicionados a novas colunas.

As pesquisas realizadas pela transformação Pesquisa diferenciam maiúsculas de minúsculas. Para evitar falhas de pesquisa causadas por diferenças de maiúsculas e minúsculas nos dados, primeiro use a transformação Mapa de Caracteres para converter os dados em maiúsculas ou minúsculas. Em seguida, inclua as funções UPPER ou LOWER na instrução SQL que gera a tabela de referência. Para obter mais informações, consulte Transformação do mapa de caracteres, UPPER (Transact-SQL) e LOWER (Transact-SQL).

A transformação Pesquisa tem as seguintes entradas e saídas:

  • Entrada.

  • Saída de correspondência. A saída de correspondência manipula as linhas na entrada de transformação que correspondem a pelo menos uma entrada no conjunto de dados de referência.

  • Nenhuma saída de correspondência. A saída sem correspondência manipula linhas na entrada que não correspondem a pelo menos uma entrada no conjunto de dados de referência. Se você configurar a transformação Pesquisa para tratar as linhas sem entradas correspondentes como erros, as linhas serão redirecionadas para a saída de erro. Caso contrário, a transformação redirecionaria essas linhas para a saída sem correspondência.

  • Saída de erro.

Armazenando em cache o conjunto de dados de referência

Um cache na memória armazena o conjunto de dados de referência e armazena uma tabela de hash que indexa os dados. O cache permanece na memória até que a execução do pacote seja concluída. Você pode manter o cache em um arquivo de cache (.caw).

Quando você persiste o cache em um arquivo, o sistema carrega o cache mais rapidamente. Isso melhora o desempenho da transformação Pesquisa e do pacote. Lembre-se de que, ao usar um arquivo de cache, você está trabalhando com dados que não são tão atuais quanto os dados no banco de dados.

A seguir estão os benefícios adicionais de persistir o cache em um arquivo:

A seguir estão as opções de cache:

  • O conjunto de dados de referência é gerado usando uma tabela, exibição ou consulta SQL e carregado em cache, antes que a transformação Pesquisa seja executada. Use o gerenciador de conexões OLE DB para acessar o conjunto de dados.

    Essa opção de cache é compatível com a opção de cache completo disponível para a transformação Pesquisa no SQL Server 2005 Integration Services (SSIS).

  • O conjunto de dados de referência é gerado a partir de uma fonte de dados conectada no fluxo de dados ou de um arquivo de cache e é carregado no cache antes que a transformação Pesquisa seja executada. Use o gerenciador de conexões de cache e, opcionalmente, a transformação de cache, para acessar o conjunto de dados. Para obter mais informações, consulte Gerenciador de conexões de cache e Transformação de cache.

  • O conjunto de dados de referência é gerado usando uma tabela, exibição ou consulta SQL durante a execução da transformação Pesquisa. As linhas com entradas correspondentes no conjunto de dados de referência e as linhas sem entradas correspondentes no conjunto de dados são carregadas em cache.

    Quando o tamanho da memória do cache é excedido, a transformação Pesquisa remove automaticamente as linhas menos usadas do cache.

    Essa opção de cache é compatível com a opção de cache parcial disponível para a transformação Pesquisa no SQL Server 2005 Integration Services (SSIS).

  • O conjunto de dados de referência é gerado usando uma tabela, exibição ou consulta SQL durante a execução da transformação Pesquisa. Nenhum dado é armazenado em cache.

    Essa opção de cache é compatível com a opção sem cache disponível para a transformação Pesquisa no SQL Server 2005 Integration Services (SSIS).

O Integration Services e o SQL Server diferem na maneira como comparam cadeias de caracteres. Se a transformação Pesquisa estiver configurada para carregar o conjunto de dados de referência no cache antes que a transformação Pesquisa seja executada, o Integration Services fará a comparação de pesquisa no cache. Caso contrário, a operação de pesquisa usa uma instrução SQL parametrizada e o SQL Server faz a comparação de pesquisa. Isso significa que a transformação Pesquisa pode retornar um número diferente de correspondências da mesma tabela de pesquisa, dependendo do tipo de cache.

Você pode definir propriedades por meio do SSIS Designer ou programaticamente. Para obter mais detalhes, consulte os tópicos a seguir.

Editor de Transformação de Pesquisa (Página Geral)

Use a página Geral da caixa de diálogo Editor de Transformação de Pesquisa para selecionar o modo de cache, selecionar o tipo de conexão e especificar como lidar com linhas sem entradas correspondentes.

Opções

Observação

A saída correspondente pode diferir dependendo se o modo de cache completo, sem modo de cache ou modo de cache parcial é usado:

  • No modo de cache completo, o banco de dados é consultado uma vez durante a fase de pré-execução do fluxo de dados e todo o conjunto de referência é puxado para a memória. Isso significa que confiaremos na regra de correspondência do mecanismo SSIS, que diferencia maiúsculas de minúsculas, sensível com espaços à direita e sensível com precisão e escala numérica.
  • No entanto, quando nenhum cache ou modo de cache parcial é usado, nenhum cache é feito durante a fase de pré-execução. Isso significa que usaremos a regra de correspondência do banco de dados de origem. Por exemplo, se a origem for um banco de dados do SQL Server e se o agrupamento de colunas não diferenciar maiúsculas de minúsculas, a regra de correspondência também deverá diferenciar maiúsculas de minúsculas.

Cache completo
Gere e carregue o conjunto de dados de referência em cache antes que a transformação Pesquisa seja executada.

Cache parcial
Gere o conjunto de dados de referência durante a execução da transformação Lookup. Carregue as linhas com entradas correspondentes no conjunto de dados de referência e as linhas sem entradas correspondentes no conjunto de dados no cache.

Sem cache
Gere o conjunto de dados de referência durante a execução da transformação Lookup. Nenhum dado é carregado no cache.

Gerenciador de conexões de cache
Configure a transformação Pesquisa para usar um gerenciador de conexões de cache. Esta opção só estará disponível se a opção Cache completo estiver selecionada.

Gerenciador de conexões OLE DB
Configure a transformação Pesquisa para usar um gerenciador de conexões OLE DB.

Especificar como lidar com linhas sem entradas correspondentes
Selecione uma opção para manipular linhas que não correspondam a pelo menos uma entrada no conjunto de dados de referência.

Quando você seleciona Redirecionar linhas para saída sem correspondência, as linhas são redirecionadas para uma saída sem correspondência e não são tratadas como erros. A opção Erro na página Saída de Erro da caixa de diálogo Editor de Transformação de Pesquisa não está disponível.

Quando você seleciona qualquer outra opção na caixa de listagem Especificar como lidar com linhas sem entradas correspondentes , as linhas são tratadas como erros. A opção Erro na página Saída de erro está disponível.

Recursos Externos

Entrada de blog, modos de cache de pesquisa no blogs.msdn.com

Editor de Transformação de Pesquisa (Página de Conexão)

Use a página Conexão da caixa de diálogo Editor de Transformação de Pesquisa para selecionar um gerenciador de conexões. Se você selecionar um gerenciador de conexões OLE DB, também selecionará uma consulta, tabela ou exibição para gerar o conjunto de dados de referência.

Opções

As opções a seguir estão disponíveis quando você seleciona Cache completo e Gerenciador de conexões de cache na página Geral da caixa de diálogo Editor de transformação de pesquisa .

Gerenciador de conexões de cache
Selecione um gerenciador de conexões de cache existente na lista ou crie uma nova conexão clicando em Novo.

Novo
Crie uma nova conexão usando a caixa de diálogo Editor do Gerenciador de Conexões de Cache .

As opções a seguir estão disponíveis quando você seleciona Cache completo, Cache parcial ou Sem cache e Gerenciador de conexões OLE DB na página Geral da caixa de diálogo Editor de transformação de pesquisa .

Gerenciador de conexões OLE DB
Selecione um gerenciador de conexões OLE DB existente na lista ou crie uma nova conexão clicando em Novo.

Novo
Crie uma nova conexão usando a caixa de diálogo Configurar Gerenciador de Conexões OLE DB .

Utilizar uma tabela ou vista
Selecione uma tabela ou vista existente na lista ou crie uma nova tabela clicando em Novo.

Observação

Se você especificar uma instrução SQL na página Avançado do Editor de Transformação de Pesquisa, essa instrução SQL substituirá e substituirá o nome da tabela selecionada aqui.

Novo
Crie uma nova tabela usando a caixa de diálogo Criar tabela .

Usar resultados de uma consulta SQL
Escolha esta opção para navegar até uma consulta pré-existente, criar uma nova consulta, verificar a sintaxe da consulta e visualizar os resultados da consulta.

Consulta de compilação
Crie a instrução Transact-SQL a ser executada usando o Construtor de Consultas, uma ferramenta gráfica usada para criar consultas navegando pelos dados.

Procurar
Use esta opção para navegar até uma consulta pré-existente salva como um arquivo.

Analisar consulta
Verifique a sintaxe da consulta.

Preview
Visualize os resultados usando a caixa de diálogo Visualizar Resultados da Consulta . Esta opção exibe até 200 linhas.

Recursos Externos

Entrada de blog, modos de cache de pesquisa no blogs.msdn.com

Editor de transformação de pesquisa (página Colunas)

Use a página Colunas da caixa de diálogo Editor de Transformação de Pesquisa para especificar a junção entre a tabela de origem e a tabela de referência e para selecionar colunas de pesquisa na tabela de referência.

Opções

Colunas de entrada disponíveis
Veja a lista de colunas de entrada disponíveis. As colunas de entrada são as colunas no fluxo de dados de uma fonte conectada. As colunas de entrada e a coluna de pesquisa devem ter tipos de dados correspondentes.

Use uma operação de arrastar e soltar para mapear colunas de entrada disponíveis para colunas de pesquisa.

Você também pode mapear colunas de entrada para pesquisar colunas usando o teclado, destacando uma coluna na tabela Colunas de entrada disponíveis , pressionando a tecla Aplicativo e clicando em Editar mapeamentos.

Colunas de pesquisa disponíveis
Exiba a lista de colunas de pesquisa. As colunas de pesquisa são colunas na tabela de referência nas quais você deseja procurar valores que correspondam às colunas de entrada.

Use uma operação de arrastar e soltar para mapear colunas de pesquisa disponíveis para colunas de entrada.

Use as caixas de seleção para selecionar colunas de pesquisa na tabela de referência nas quais executar operações de pesquisa.

Você também pode mapear colunas de pesquisa para colunas de entrada usando o teclado, destacando uma coluna na tabela Colunas de Pesquisa Disponíveis , pressionando a tecla Aplicativo e clicando em Editar Mapeamentos.

Coluna de pesquisa
Exiba as colunas de pesquisa selecionadas. As seleções são refletidas nas seleções de caixa de seleção na tabela Colunas de Pesquisa Disponíveis .

Operação de pesquisa
Selecione uma operação de pesquisa na lista a ser executada na coluna de pesquisa.

Alias de saída
Digite um alias para a saída de cada coluna de pesquisa. O padrão é o nome da coluna de pesquisa; no entanto, você pode selecionar qualquer nome exclusivo e descritivo.

Editor de transformação de pesquisa (página avançada)

Use a página Avançado da caixa de diálogo Editor de Transformação de Pesquisa para configurar o cache parcial e modificar a instrução SQL para a transformação de Pesquisa.

Opções

Tamanho do cache (32 bits)
Ajuste o tamanho do cache (em megabytes) para computadores de 32 bits. O valor padrão é 5 megabytes.

Tamanho do cache (64 bits)
Ajuste o tamanho do cache (em megabytes) para computadores de 64 bits. O valor padrão é 5 megabytes.

Habilitar cache para linhas sem entradas correspondentes
Armazenar em cache linhas sem entradas correspondentes no conjunto de dados de referência.

Alocação a partir do cache
Especifique a porcentagem do cache a ser alocada para linhas sem entradas correspondentes no conjunto de dados de referência.

Modificar a instrução SQL
Modifique a instrução SQL usada para gerar o conjunto de dados de referência.

Observação

A instrução SQL opcional especificada nesta página substitui e substitui o nome da tabela especificado na página Conexão do Editor de Transformação de Pesquisa. .

Definir parâmetros
Mapeie colunas de entrada para parâmetros usando a caixa de diálogo Definir parâmetros de consulta .

Recursos Externos

Entrada de blog, modos de cache de pesquisa no blogs.msdn.com

Ver também

Transformação de pesquisa difusa
Transformação de pesquisa de termos
Fluxo de dados
Transformações do Integration Services