Ik kan dit scenario niet reproduceren. Ik heb het volgende geprobeerd:
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;
Resultaten:
--------
39578
Als dit wordt beperkt tot 8K, dan vermoed ik dat een van de volgende situaties waar is:
-
De kolom is eigenlijk
VARBINARY(8000)
. -
U selecteert de gegevens in Management Studio en analyseert de lengte van de gegevens die daar worden weergegeven. Dit is beperkt tot maximaal 8192 tekens in resultaten naar tekst, als dit het geval is, gebruik dus
DATALENGTH()
direct tegen de kolom is een veel betere benadering.