Симптоми
Приемете, че използвате почистващия компонент за качество на данните (DQS) с голяма партида в Microsoft SQL Server 2012 Services (SSIS 2012) или SQL Server 2014 Services (SSIS 2014). Когато се опитате да изпълните пакета, е възможно да получите следните резултати:
-
Ще получите следната грешка в пакета SSIS
OnError,<MachineName>,<потребителско име>, за да предавате данни за прехвърляне чрез DQS, {9C749B1D-3FAF-4E3B-B0B9-C8BA626428F5}, {B8582806-2FDB-43EF-8E69-B43E6A375DD2},<дата><час>,<дата><час>; 0; 0x; стойността "<StringValue>" в колона <ColumnName>"не се побира в текущия буфер. Дължината на стойността е 11, но дължината на колоната за изхода е 1. OnError,<MachineName>,<UserNname>, DQS_Test, {AF400590-A48A-4483-87A0-A5CC5AC8BF09}, {B8582806-2FDB-43EF-8E69-B43E6A375DD2}, <дата><час>, <дата><час>; 0; 0x; стойността "<StringValue>" в колона <ColumnName>"не се побира в текущия буфер. Дължината на стойността е 11, но дължината на колоната за изход е 1. OnError,<MachineName>,<потребителско име>, за да се появят данни за предаване на данни чрез DQS, {9C749B1D-3FAF-4E3B-B0B9-C8BA626428F5}, {B8582806-2FDB-43EF-8E69-B43E6A375DD2},<дата><час>,<дата><час>; 0; 0X; неочаквана грешка в инфраструктурата DQS. Microsoft. SqlServer. DTS. Pipeline. DoesNotFitBufferException: стойността е твърде голяма, за да се побере в областта данни за колони на буфера. в Microsoft. SqlServer. DTS. Pipeline. PipelineBuffer. SetString (Int32 columnIndex, String Value) в Microsoft. Ssdqs. Component. Common. Utilities. ComponentUtility. SetValue (IDTSComponentMetaData100 componentMetadata, PipelineBuffer Int32, fieldIndex-(Int32 "1 ColumnName; Ssdqs-1 Records; DataCorrection& DataCorrectionComponent)". Component. ProcessChunk. Logic. ReadOnlyCollection. FieldMappings (
-
Когато пакетът приключи, отворете проекта, генериран от клиента на DQS, и прегледайте един от домейните. Ако сортирате домейна по стойност, може да видите стойности от други домейни.
Забележка Процентът на неуспешност на този проблем зависи от размера на партидата. Когато размерът на партидата е по-голям, процентът на неуспешност ще бъде по-голям.
Решение
Проблемът е коригиран първо в следващата сборна актуализация на SQL Server.
Кумулативна актуализация 1 за SQL Server 2012 SP2 /en-us/help/2976982
Кумулативна актуализация 2 за SQL Server 2014 /en-us/help/2967546
Кумулативна актуализация 10 за SQL Server 2012 SP1 /en-us/help/2954099
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Заобиколно решение
За да заобиколите този проблем, намалете размера на партидата, за да отстраните или облекчите проблема.
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".