Atualizar campo varbinary (MAX) no SQLServer 2012 Lost Last 4 bits

Recentemente, eu gostaria de fazer alguns patches de dados e tentar atualizar uma coluna do tipovarbinário (MAX), o valor da atualização é assim:

0xFFD8F ... 6DC0676

No entanto, após a consulta de atualização ser executada com sucesso, o valor se torna:

0x0FFD8 ... 6DC067

Parece que os últimos 4 bits estão perdidos, ou todo o valor está mudando um byte ...

Tentei excluir a linha inteira e execute umInserir consulta, mesmas coisas acontecem!

Alguém pode me dizer por que isso está acontecendo e como posso resolvê-lo? Obrigado!

Eu tentei vários comprimentos variáveis de binário, para obter o máximo43658 caracteres (cada um representa 4 bits, totalizando cerca de 21 KB), a consulta de atualização é executada normalmente. Mais 1 personagem fará com que o "bug" acima apareça ...

PS1: Para um comprimento menor como valor de atualização, está tudo bem

PS2: Posso postar toda a string binária, se ajudar, mas é muito longa e não tenho certeza se é adequada para postar aqui

EDITADO: Obrigado por qualquer ajuda!

Como alguém sugeriu, o valor inserido pode ter um número ímpar de 4 bits, então há um 0 acrescentado à frente. Aqui estão minhas informações de atualização sobre o valor:

O valor é de43677 caracteres longos excluindo "0x", que menasSim, é estranho

Explica por que um '0' foi inserido antes, masnão explica por que o último caractere desaparece ...

Então eu faço um experimento:

Insiro ummesmo valor de comprimento, adicione manualmente um '0' antes do valor original,

Agora, o valor a ser atualizado é

0x0FFD8F ... 6DC0676

que é de43678 caracteres, excluindo "0x"

O resultado não é sorte, o valor atualizado ainda é

0x0FFD8 ... 6DC067

questionAnswers(1)

yourAnswerToTheQuestion