Soweit ich weiß, wird ein varbinary(max)
Feld genauso in der Datenbank gespeichert, wie jedes andere Feld. Als separate Datei wird es nur dann abgelegt, wenn du FILESTREAM varbinary(max)
nimmst.
Gilt doch erst ab
SQL 2012, oder?
Ein BLOB (varbinary(max) speichert die Daten nur nicht direkt in der row sondern in einem speziellen
DB/Tabellenbereich
Das ist korrekt, aber da das vollkommen transparent geschieht, ist es 'eigentlich' so, als ob die Daten in der Spalte stehen.
Zitat:
...der 8060-Byte maximale Zeilengröße des MS
SQL-Server...
Das ist so nicht ganz korrekt. Die Grenze gilt für fixe Größen (also auch nicht für VARCHAR).
Zitat von
MSDN:
SQL Server supports row-overflow storage which enables variable length columns to be pushed off-row. Only a 24-byte root is stored in the main record for variable length columns pushed out of row; because of this, the effective row limit is higher than in previous releases of
SQL Server. For more information, see the "Row-Overflow Data Exceeding 8 KB" topic in
SQL Server Books Online.
Gilt seit mindestens
SQL 2005.