Erro (falha na limpeza do DQS na fase de pré-execução) ao executar a transformação de limpeza do DQS no SQL Server 2012

Este artigo ajuda você a contornar o problema em que um erro é registrado no log do SSIS no SQL Server 2012.

Aplica-se a: SQL Server 2012 Developer, SQL Server 2012 Enterprise, SQL Server 2012 Standard
Número de KB original: 2715968

Sintomas

Considere o seguinte cenário:

  • Você usa a transformação de limpeza dos Serviços de Qualidade de Dados (DQS) em um Fluxo de Dados do SQL Server-Integrated Service (SSIS) para limpar seus dados no Microsoft SQL Server 2012.
  • Você define a configuração "Configurar saída de erro" da transformação de Limpeza do DQS como "Linha de redirecionamento". No entanto, você não especifica um local para salvar a saída de erro.
  • Você executa o pacote SSIS.

Nesse cenário, a seguinte mensagem de erro é registrada no log do SSIS:

O DQS Cleansing falhou na fase de pré-execução e retornou o código de erro 0x80070057.
System.ArgumentException: o valor não se enquadra no intervalo esperado.
em Microsoft.SqlServer.Dts.pipeline.Wrapper.IDTSBufferManager100.FindColumnByLineageID(Int32 hBufferType, Int32 nLineageID)
em Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent.PreExecute() em Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPreExecute(IDTSManagedComponentWrapper100 wrapper)

Motivo

Esse problema ocorre porque um destino não é definido para a saída de erro gerada para linhas que não atendem aos critérios e regras de domínio DQS.

Solução alternativa

Para resolver esse problema, use um dos seguintes métodos.

  • Método 1

    Se você não quiser redirecionar linhas de erro, siga estas etapas para resolve o problema:

    1. Abra o componente DQS no Editor de Transformação de Limpeza do DQS.
    2. Selecione Componente de Falha na lista suspensa Configurar saída de erro na parte inferior do Editor de Transformação de Limpeza do DQS.
  • Método 2

    Se você precisar redirecionar suas linhas de erro, deverá ter certeza de que tem um local de destino para que os erros sejam redirecionados.