KB2960989 - CORRECCIÓN: Error al usar el componente de limpieza de DQS con un lote grande en un paquete de 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 Servicios de calidad de datos (DQS) con un lote grande en un paquete de Servicios de integración de Microsoft SQL Server 2012 (SSIS 2012) o SQL Server 2014 Integration Services (SSIS 2014). Al intentar ejecutar el paquete, es posible que reciba los siguientes resultados:

  • Recibe el siguiente error en el paquete de 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},<Fecha><y hora,Hora><> de fecha,0,0x,El><valor '<Valor String>' en columnName><' no cabe en el 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,The> value '<StringValue>' in 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 Task- Pasar datos a través de DQS,{9C749B1D-3FAF-4E3B-B0B9-C8BA626428F5},{B8582806-2FDB-43EF-8E69-B43E6A375DD2},<Fecha><y hora,0,0x,Se>><<> produjo 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 la columna del búfer.
       at Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer.SetString(Int32 columnIndex, String value)
       at Microsoft.Ssdqs.Component.Common.Utilities.ComponentUtility.SetValue(IDTSComponentMetaData100 componentMetadata, Búfer PipelineBuffer, Int32 fieldIndex, Tipo DataType, Longitud Int32, String nombrecolumna, valor Object) en Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent.ProcessChunk(ReadOnlyCollection'1 fieldMappings, ReadOnlyCollection'1 registros, CorrectedRecordsStatusStatistics& corregidoRecordsTotalStatusStatistics)

  • Una vez completado el paquete, abra el proyecto generado en el cliente de 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

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

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

Actualización acumulativa 2 de SQL Server 2014 /help/2967546

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

Acerca de las actualizaciones acumulativas para SQL Server

Cada nueva actualización acumulativa de SQL Server contiene todas las revisiones y todas las correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Echa un vistazo a las últimas actualizaciones acumulativas de SQL Server:

      

Solución alternativa

Para solucionar este problema, disminuya 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".