Sintomas
Assuma que está a utilizar o componente de limpeza dos Serviços de Qualidade de Dados (DQS) com grande lote num pacote de Serviços de Integração do Microsoft SQL Server 2012 (SSIS 2012) ou SQL Server 2014 Integration Services (SSIS 2014). Quando tentar executar o pacote, poderá receber os seguintes resultados:
-
Você recebe o seguinte erro dentro do pacote SSIS
OnError,<MachineName>,< UserName>,Data Flow Task - Passe dados através de DQS,{9C749B1D-3FAF-4E3B---B0B9-C8BA626428F5},{B8582806-2FDB-43EF-8E69-B43E6A375DD2},<Data><Hora>,<Data>< Hora>,0,0x, O valor '< StringValue>' na coluna< ColumnName>' não se encaixa no tampão atual. O comprimento do valor é de 11, mas o comprimento da coluna de saída é 1.OnError,<MachineName>,<UserNname>,DQS_Test,{AF400590-A48A-4483-87A0-A5CC5AC8BF09},{B8582806-2FDB-43EF-8E 69-B43E6A375DD2},<Data><Hora><Data><tempo>,0,0x, O valor '< StringValue>' na coluna< ColumnName>' não se encaixa no tampão atual. O comprimento do valor é de 11, mas o comprimento da coluna de saída é 1.OnError,<>de Nome de Máquinas ,<Nome do Utilizador>,Data Flow Task - Passe dados através do DQS,{9C749B1D-3FAF-4E3B-B0B9-C8BA626428F5},{B8582806-2FDB-43EF-8E69-B43E6A375DD2},<Data>< hora>, data<>< hora>,0,0x,Um erro inesperado ocorreu na infraestrutura DQS. Microsoft.SqlServer.Dts.Pipeline.DoesNotFitBufferException: O valor é demasiado grande para se encaixar na área de dados da coluna do tampão. em Microsoft.SqlServer.Dts.PipelineBuffer.SetString (Int32 columnIndex, valor de corda) em Microsoft.Ssdqs.Component.Common.Utilities.ComponentUtility.SetValue(IDTSComponentMetaData100 componentmetadata, pipelineBuffer buffer, Int32 fieldIndex, Tipo de Dados, Comprimento Int32, Nome da coluna de cordas, valor de objeto) em Microsoft.Ssdqs.Component.DataCorrection.Logic.DataCorrectionComponent.ProcessChunk (ReadOnlyCollection'1 fieldMappings, ReadOnlyCollection'1 records, CorrectedRecordsStatusStatistics& corrigidoRecordsTotalStatusStatistics)
-
Quando o pacote estiver concluído, abra o projeto gerado no cliente DQS e examine um dos domínios. Se classificar o domínio por valor, poderá ver valores de outros domínios.
Nota A taxa de falha desta questão depende do tamanho do lote. Quando o tamanho do lote for maior, a taxa de avaria será maior.
Resolução
O problema foi corrigido pela primeira vez na seguinte atualização cumulativa do SQL Server.
Atualização Cumulativa 1 para SQL Server 2012 SP2 /en-us/help/2976982
Atualização Cumulativa 2 para SQL Server 2014 /en-us/help/2967546
Atualização Cumulativa 10 para SQL Server 2012 SP1 /en-us/help/2954099
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Confira as últimas atualizações cumulativas do SQL Server:
Solução
Para contornar esta questão, diminua o tamanho do lote para resolver ou aliviar o problema.
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".