このシナリオを再現できません。以下を試してみました:
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;
結果:
--------
39578
これが 8K に制限されている場合、次のいずれかが当てはまると思います:
<オール> <リ>
列は実際には VARBINARY(8000)
です .
Management Studio でデータを選択し、そこに表示されるデータの長さを分析しています。これは、テキストへの結果で最大 8192 文字に制限されているため、DATALENGTH()
を使用します。 列に直接反対する方がはるかに優れたアプローチです。