Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Maximale Größe der SQL Server 2008 R2-Variablen

Ich kann dieses Szenario nicht reproduzieren. Folgendes habe ich versucht:

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;

Ergebnisse:

--------
39578

Wenn dies auf 8K begrenzt wird, würde ich vermuten, dass eine der folgenden Aussagen zutrifft:

  1. Die Spalte ist eigentlich VARBINARY(8000) .

  2. Sie wählen die Daten in Management Studio aus und analysieren die Länge der dort angezeigten Daten. Dies ist auf maximal 8192 Zeichen in Ergebnissen zu Text begrenzt, wenn dies der Fall ist, verwenden Sie also DATALENGTH() direkt gegen die Spalte ist ein viel besserer Ansatz.