Sintomi
Si supponga di utilizzare il componente pulizia DQS (Data Quality Services) con batch di grandi dimensioni in un pacchetto di Microsoft SQL Server 2012 Integration Services (SSIS 2012) o SQL Server 2014 Integration Services (SSIS 2014). Quando tenti di eseguire il pacchetto, potresti ricevere i seguenti risultati:
Viene visualizzato l'errore seguente all'interno del pacchetto SSIS
Nota
OnError,MachineName,UserName,attività Flusso di dati - Passare i dati tramite DQS,{9C749B1D-3FAF-4E3B-B0B9-C8BA626428F5},{B8582806-2FDB-43EF-8E69-B43E6A375DD2},<Data></ora,Data>><< ora,0,0x,Il> valore '<ValoreStringa>' nella colonna <NomeColon>' non rientra nel buffer corrente.<><> La lunghezza del valore è 11, ma la lunghezza della colonna di output è 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 column <ColumnName>' non corrisponde al buffer corrente.<><> La lunghezza del valore è 11, ma la lunghezza della colonna di output è 1.
OnError,MachineName,UserName,attività Flusso di dati - Passare i dati tramite DQS,{9C749B1D-3FAF-4E3B-B0B9-C8BA626428F5},{B8582806-2FDB-43EF-8E69-B43E6A375DD2},<Data><ora,Data<><> ora,0,0x,Si> è verificato un errore imprevisto nell'infrastruttura DQS.<><>
Microsoft.SqlServer.Dts.Pipeline.DoesNotFitBufferException: il valore è troppo grande per rientrare nell'area dei dati della colonna del buffer.
in Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer.SetString(Int32 columnIndex, String value)
in Microsoft.Ssdqs.Component.Common.Utilities.ComponentUtility.SetValue(IDTSComponentMetaData100 componentMetadata, Buffer PipelineBuffer, Int32 fieldIndex, DataType type, Int32 length, String columnName, Object value) at Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent.ProcessChunk(ReadOnlyCollection'1 fieldMappings, ReadOnlyCollection'1 records, CorrectedRecordsStatusStatistics& correctedRecordsTotalStatusStatistics)Una volta completato il pacchetto, aprire il progetto generato nel client DQS ed esaminare uno dei domini. Se si ordina il dominio in base al valore, è possibile che vengano visualizzati i valori di altri domini.
Nota Il tasso di errore di questo problema dipende dalle dimensioni del batch. Quando le dimensioni del batch sono maggiori, il tasso di errore sarà maggiore.
Risoluzione
Il problema è stato risolto per la prima volta nel seguente aggiornamento cumulativo di SQL Server.
Aggiornamento cumulativo 1 per SQL Server 2012 SP2 /en-us/help/2976982
Aggiornamento cumulativo 2 per SQL Server 2014 /en-us/help/2967546
Aggiornamento cumulativo 10 per SQL Server 2012 SP1 /en-us/help/2954099
Informazioni sugli aggiornamenti cumulativi per SQL Server
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli aggiornamenti rapidi e tutte le correzioni per la sicurezza inclusi nell'aggiornamento cumulativo precedente. Scopri gli aggiornamenti cumulativi più recenti per SQL Server:
- Ultimo aggiornamento cumulativo per SQL Server 2012 SP2
- Ultimo aggiornamento cumulativo per SQL Server 2014
- Ultimo aggiornamento cumulativo per SQL Server 2012 SP1
Soluzione alternativa
Per risolvere il problema, ridurre le dimensioni del batch per risolvere o risolvere il problema.
Stato
Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".