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:
- Actualización acumulativa más reciente para SQL Server 2012 SP2
- Actualización acumulativa más reciente para SQL Server 2014
- Actualización acumulativa más reciente para SQL Server 2012 SP1
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".