Necesito almacenar archivos binarios en la base de datos de SQL Server. ¿Cuál es el mejor tipo de datos de Varbinary e Image?
Respuestas:
Dado que la imagen está en desuso, debe usar varbinary.
por Microsoft (gracias por el enlace @Christopher)
Los tipos de datos de texto, texto e imagen se eliminarán en una versión futura de Microsoft SQL Server. Evite el uso de estos tipos de datos en nuevos trabajos de desarrollo y planee modificar las aplicaciones que los usan actualmente. Utilice nvarchar (max), varchar (max) y varbinary (max) en su lugar.
Tipos de datos de longitud fija y variable para almacenar datos binarios y de caracteres grandes no Unicode y Unicode. Los datos Unicode utilizan el juego de caracteres UNICODE UCS-2.
También está el bastante elegante FileStream, introducido en SQL Server 2008.
FileStreames solo un comportamiento de almacenamiento. Filestream se implementa mediante el uso varbinary(max)y la realización de cambios en la instancia de su servidor SQL.
https://docs.microsoft.com/en-us/sql/t-sql/data-types/ntext-text-and-image-transact-sql
imagen
Datos binarios de longitud variable de 0 a 2 ^ 31-1 (2,147,483,647) bytes. Aún así, se admite el uso de tipos de datos de imagen, pero tenga en cuenta:
https://docs.microsoft.com/en-us/sql/t-sql/data-types/binary-and-varbinary-transact-sql
varbinary [(n | max)]
Datos binarios de longitud variable. n puede ser un valor de 1 a 8.000. max indica que el tamaño máximo de almacenamiento es 2 ^ 31-1 bytes. El tamaño de almacenamiento es la longitud real de los datos ingresados + 2 bytes. Los datos que se ingresan pueden tener 0 bytes de longitud. El sinónimo ANSI SQL para varbinary es binario variable.
Así que ambos tienen el mismo tamaño (2 GB). Pero tenga en cuenta:
Aunque el final del tipo de datos "imagen" aún no está determinado, debe utilizar el equivalente de prueba "futuro".
Pero tienes que preguntarte: ¿por qué almacenar BLOBS en una columna?