KB2960989 - FIX: Error al usar el componente de limpieza DQS con lotes grandes en un paquete SSIS 2012 o SSIS 2014

Se aplica a
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Síntomas

Suponga que está usando el componente de limpieza de Data Quality Services (DQS) con un lote grande en un paquete de Microsoft SQL Server 2012 Integration Services (SSIS 2012) o SQL Server 2014 Integration Services (SSIS 2014). Cuando intente ejecutar el paquete, puede recibir los siguientes resultados:

  • Recibe el siguiente error dentro del paquete SSIS

    Nota

    OnError,MachineName,UserName,Data Flow Tarea: Pasar datos a través de DQS,{9C749B1D-3FAF-4E3B-B0B9-C8BA626428F5},{B8582806-2FDB-43EF-8E69-B43E6A375DD2},><<Date Time,Date><< Time,0,0x,El>> valor '<StringValue>' de la columna <ColumnName>' no se ajusta al búfer actual.<><> La longitud del valor es 11, pero la longitud de la columna de salida es 1.
    OnError,MachineName,UserNname,DQS_Test,{AF400590-A48A-4483-87A0-A5CC5AC8BF09},{B8582806-2FDB-43EF-8E69-B43E6A375DD2},<Date><Time,Date><< Time,0,0x,El>> valor '<StringValue>' de la columna <ColumnName>' no se ajusta al búfer actual.<><> La longitud del valor es 11, pero la longitud de la columna de salida es 1.
    OnError,MachineName,UserName,Data Flow Tarea: Pasar datos a través de DQS,{9C749B1D-3FAF-4E3B-B0B9-C8BA626428F5},{B8582806-2FDB-43EF-8E69-B43E6A375DD2},<><Date Time,Date><< Time,0,0x,Se>> ha producido un error inesperado en la infraestructura de DQS.<><>
    Microsoft.SqlServer.Dts.Pipeline.DoesNotFitBufferException: el valor es demasiado grande para caber en el área de datos de columna del búfer.
       en Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer.SetString(Int32 columnIndex, String value)
       en Microsoft.Ssdqs.Component.Common.Utilities.ComponentUtility.SetValue(IDTSComponentMetaData100 componentMetadata, PipelineBuffer buffer, Int32 fieldIndex, DataType type, Int32 length, String columnName, Object value) en Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent.ProcessChunk(ReadOnlyCollection'1 fieldMappings, ReadOnlyCollection'1 records, CorrectedRecordsStatusStatistics& correctedRecordsTotalStatusStatistics)

  • Cuando se complete el paquete, abra el proyecto generado en el cliente DQS y examine uno de los dominios. Si ordena el dominio por valor, es posible que vea valores de otros dominios.

Nota: La tasa de errores de este problema depende del tamaño del lote. Cuando el tamaño del lote es mayor, la tasa de errores será mayor.

Resolución

Este problema se corrigió por primera vez en la siguiente actualización acumulativa de SQL Server.

Actualización acumulativa 1 para SQL Server 2012 SP2 /en-us/help/2976982

Actualización acumulativa 2 para SQL Server 2014 /en-us/help/2967546

Actualización acumulativa 10 para SQL Server 2012 SP1 /en-us/help/2954099

Acerca de las actualizaciones acumulativas para SQL Server

Cada nueva actualización acumulativa para SQL Server contiene todas las revisiones y correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Consulte las actualizaciones acumulativas más recientes para SQL Server:

      

Solución alternativa

Para evitar este problema, reduzca el tamaño del lote para resolver o aliviar el problema.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".