Antworten:
Da das Bild veraltet ist, sollten Sie varbinary verwenden.
per Microsoft (danke für den Link @Christopher)
Die Datentypen ntext, text und image werden in einer zukünftigen Version von Microsoft SQL Server entfernt. Vermeiden Sie die Verwendung dieser Datentypen in neuen Entwicklungsarbeiten und planen Sie, Anwendungen zu ändern, die sie derzeit verwenden. Verwenden Sie stattdessen nvarchar (max), varchar (max) und varbinary (max).
Datentypen mit fester und variabler Länge zum Speichern großer Nicht-Unicode- und Unicode-Zeichen- und Binärdaten. Unicode-Daten verwenden den UNICODE UCS-2-Zeichensatz.
Es gibt auch das ziemlich schicke FileStream
, das in SQL Server 2008 eingeführt wurde.
FileStream
ist nur ein Speicherverhalten. Filestream wird implementiert, indem Sie varbinary(max)
Ihre SQL Server-Instanz verwenden und Änderungen daran vornehmen.
https://docs.microsoft.com/en-us/sql/t-sql/data-types/ntext-text-and-image-transact-sql
Bild
Binärdaten variabler Länge von 0 bis 2 ^ 31-1 (2.147.483.647) Bytes. Die Verwendung des Bilddatentyps wird weiterhin unterstützt. Beachten Sie jedoch Folgendes:
https://docs.microsoft.com/en-us/sql/t-sql/data-types/binary-and-varbinary-transact-sql
varbinary [(n | max)]
Binärdaten variabler Länge. n kann ein Wert von 1 bis 8.000 sein. max gibt an, dass die maximale Speichergröße 2 ^ 31-1 Byte beträgt. Die Speichergröße ist die tatsächliche Länge der eingegebenen Daten + 2 Bytes. Die eingegebenen Daten können 0 Byte lang sein. Das ANSI SQL-Synonym für varbinary ist binär variierend.
Beide sind also gleich groß (2 GB). Aber beachten Sie:
Obwohl das Ende des Datentyps "Bild" noch nicht festgelegt ist, sollten Sie das Äquivalent "Zukunftssicherheit" verwenden.
Aber Sie müssen sich fragen: Warum BLOBS in einer Spalte speichern?