Sintomi
Si supponga di usare il componente di pulizia Data Quality Services (DQS) con un 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 si tenta di eseguire il pacchetto, è possibile che vengano visualizzati i risultati seguenti:
-
Viene visualizzato il seguente messaggio di errore all'interno del pacchetto SSIS
OnError,<MachineName>,<nomeutente>, data flusso di dati-passa dati tramite DQS, {9C749B1D-3FAF-4e3b-B0B9-C8BA626428F5}, {B8582806-2FDB-43EF-8E69-B43E6A375DD2},<data><ora>,<data><ora>, 0, 0x, il valore '<StringValue>' nella colonna <ColumnName>' non corrisponde al 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}, <data><ora>, <data><ora>, 0, 0x, il valore "<StringValue>" nella colonna <ColumnName>"non corrisponde al buffer corrente. La lunghezza del valore è 11, ma la lunghezza della colonna di output è 1. OnError,<MachineName>,<nomeutente>, flusso di dati tramite il passaggio di 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 adattarsi all'area dati della colonna del buffer. in Microsoft. SqlServer. Dts. Pipeline. PipelineBuffer. sestring (Int32 columnIndex valore stringa) in Microsoft. Ssdqs. Component. Common. Utilities. ComponentUtility. SetValue (IDTSComponentMetaData100 componentMetadata, buffer di PipelineBuffer, Int32 fieldIndex, tipo DataType, lunghezza Int32, stringa ColumnName, valore oggetto) in Microsoft. Ssdqs. Component. datacorrection. Logic. DataCorrectionComponent. ProcessChunk (ReadOnlycollection ' 1 fieldMappings, ReadOnlycollection ' 1 Records, CorrectedRecordsStatusStatistics& correctedRecordsTotalStatusStatistics)
-
Al termine del 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 la dimensione del batch è più grande, la frequenza 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
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Soluzione alternativa
Per aggirare il problema, ridurre le dimensioni del batch per risolvere o alleviare il problema.
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".