Não consigo reproduzir este cenário. Eu tentei o seguinte:
USE tempdb;
GO
CREATE TABLE dbo.blob(col VARBINARY(MAX));
INSERT dbo.blob(col) SELECT NULL;
UPDATE dbo.blob
SET col = (SELECT BulkColumn
FROM OPENROWSET( BULK 'C:\Folder\File.docx', SINGLE_BLOB) alias
);
SELECT DATALENGTH(col) FROM dbo.blob;
Resultados:
--------
39578
Se isso estiver sendo limitado a 8K, acho que qualquer uma das seguintes opções é verdadeira:
-
A coluna é na verdadeVARBINARY(8000)
.
-
Você está selecionando os dados no Management Studio e analisando o comprimento dos dados que são exibidos lá. Isso é limitado a um máximo de 8192 caracteres nos resultados para texto, se for o caso, então useDATALENGTH()
diretamente contra a coluna é uma abordagem muito melhor.