Sintomas
Suponha que você esteja usando o componente de limpeza de serviços de qualidade de dados (DQS) com lote grande em um pacote de serviços de integração do Microsoft SQL Server 2012 (SSIS 2012) ou SQL Server 2014 Integration Services (SSIS 2014). Ao tentar executar o pacote, você pode receber os seguintes resultados:
-
Você recebe a seguinte mensagem de erro no pacote SSIS
OnError,<MachineName>,<nome de usuário>, dados de fluxo de dados, passemos dados pelo DQS, {9C749B1D-3FAF-4E3B-B0B9-C8BA626428F5}, {B8582806-2FDB-43EF-8E69-B43E6A375DD2},<data><time ><><> time <, 0, 0x, o valor '>cadeia de caracteresvalue<' na coluna >ColumnName ' não se encaixa no buffer atual. O comprimento do valor é 11, mas o comprimento da coluna de saída é 1. OnError,<MachineName>,<UserNname>, DQS_Test, {AF400590-A48A-4483-87A0-A5CC5AC8BF09}, {B8582806-2FDB-43EF-8E69-B43E6A375DD2}, <data><time> <><time>, 0, 0x, o valor '<StringValue>' na coluna <ColumnName>' não se encaixa no buffer atual. O comprimento do valor é 11, mas o comprimento da coluna de saída é 1. OnError,<MachineName>,<nome do usuário>, dados de fluxo de dados, passar dados pelo DQS, {9C749B1D-3FAF-4E3B-B0B9-C8BA626428F5}, {B8582806-2FDB-43EF-8E69-B43E6A375DD2},<data><><><> time , 0, 0x, um erro inesperado na infraestrutura do DQS. Microsoft. SqlServer. Dts. Pipeline. DoesNotFitBufferException: o valor é muito grande para caber na área de dados da coluna do buffer. em Microsoft. SqlServer. Dts. Pipeline. PipelineBuffer. SetString (Int32 columnIndex, valor da cadeia de caracteres) em Microsoft. Ssdqs. Component. Common. Utilities. ComponentUtility. SetValue (IDTSComponentMetaData100 componentMetadata, PipelineBuffer buffer, Int32 fieldIndex, tipo de tipo de dados, comprimento de Int32, Cadeia de caracteres columnName, valor Object) em Microsoft. Ssdqs. Component. datacorrition. Logic. DataCorrectionComponent. ProcessChunk (ReadOnlyCollection ' 1 fieldMappings&
-
Quando o pacote for concluído, abra o projeto gerado no cliente do DQS e examine um dos domínios. Se você classificar o domínio por valor, poderá ver valores de outros domínios.
Observação A taxa de falha desse problema depende do tamanho do lote. Quando o tamanho do lote for maior, a taxa de falha será maior.
Resolução
O problema foi corrigido primeiro na atualização cumulativa a seguir 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 incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes do SQL Server:
Solução alternativa
Para contornar esse problema, diminua o tamanho do lote para resolver ou aliviar o problema.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".