Saya tidak dapat mereproduksi skenario ini. Saya mencoba yang berikut ini:
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;
Hasil:
--------
39578
Jika ini dibatasi pada 8K maka saya akan menebak bahwa salah satu dari berikut ini benar:
-
Kolom ini sebenarnya
VARBINARY(8000)
. -
Anda memilih data di Management Studio, dan menganalisis panjang data yang ditampilkan di sana. Ini dibatasi hingga maksimal 8192 karakter dalam hasil teks, jika demikian, jadi gunakan
DATALENGTH()
langsung terhadap kolom adalah pendekatan yang jauh lebih baik.