Errore (pulizia DQS non riuscita nella fase di pre-esecuzione) quando si esegue la trasformazione DQS Cleansing in SQL Server 2012

Questo articolo consente di risolvere il problema in cui viene registrato un errore nel log SSIS SQL Server 2012.

Si applica a: SQL Server 2012 Developer, SQL Server 2012 Enterprise, SQL Server 2012 Standard
Numero KB originale: 2715968

Sintomi

Considerare lo scenario descritto di seguito:

  • Per pulire i dati in Microsoft SQL Server 2012, si usa la trasformazione DQS (Data Quality Services) Cleansing in un Flusso di dati sql Server-Integrated Service (SSIS).
  • L'impostazione "Configura output degli errori" della trasformazione Pulizia DQS è impostata su "Riga di reindirizzamento". Tuttavia, non si specifica un percorso per salvare l'output dell'errore.
  • Si esegue il pacchetto SSIS.

In questo scenario viene registrato il messaggio di errore seguente nel log SSIS:

Pulizia DQS non riuscita nella fase di pre-esecuzione e codice di errore restituito 0x80070057.
System.ArgumentException: il valore non rientra nell'intervallo previsto.
in Microsoft.SqlServer.Dts.pipeline.Wrapper.IDTSBufferManager100.FindColumnByLineageID(Int32 hBufferType, Int32 nLineageID)
in Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent.PreExecute() in Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPreExecute(IDTSManagedComponentWrapper100 wrapper)

Causa

Questo problema si verifica perché non è impostata una destinazione per l'output degli errori generato per le righe che non soddisfano i criteri e le regole di dominio DQS.

Soluzione alternativa

Per risolvere questo problema, utilizzare uno dei seguenti metodi.

  • Metodo 1

    Se non si desidera reindirizzare le righe di errore, seguire questa procedura per risolvere il problema:

    1. Aprire il componente DQS nella trasformazione DQS Cleansing Editor.
    2. Selezionare Componente non riuscito nell'elenco a discesa Configura output degli errori nella parte inferiore della Editor DQS Cleansing Transformation.
  • Metodo 2

    Se è necessario reindirizzare le righe di errore, è necessario assicurarsi di avere una posizione di destinazione a cui reindirizzare gli errori.