2009-01-14 26 views

Respuesta

119

Como la imagen está obsoleta, debe usar varbinary.

por Microsoft(gracias por el enlace @Christopher)

ntext tipos de texto y de datos de imagen se eliminará en una versión futura de Microsoft SQL Server. Evite utilizar estos tipos de datos en el nuevo trabajo de desarrollo y planee modificar las aplicaciones que actualmente usan . Use nvarchar (max), varchar (max) y varbinary (max) en su lugar.

Tipos de datos fijos y de longitud variable para almacenar caracteres Unicode y datos binarios no Unicode y grandes. Los datos Unicode usan el juego de caracteres UNICODE UCS-2 .

+10

http://msdn.microsoft.com/en-us/library/ms187993.aspx es un mejor enlace. –

+3

Me gustaría obtener más detalles sobre este voto a la baja. – cmsjr

+1

@ cmsjr: tal vez porque, como dice Microsoft, "el tipo de datos de imagen se eliminará en una versión futura de Microsoft SQL Server". – Ehsan

11

varbinary(max) es el camino a seguir (introducido en SQL Server 2005)

8

También está el lugar spiffy FileStream, introducido en SQL Server 2008.

+0

spiffy: * inteligente en apariencia *? – Liam

+0

'bastante spiffy' tiene un significado algo más general (que simplemente 'spiffy') en la lengua vernácula común ... Lo más apropiado creo. – Grantly

+0

Esta pregunta es sobre formatos de columna y 'FileStream' es solo un comportamiento de almacenamiento. Filestream se implementa utilizando 'varbinary (max)' y realizando cambios en su instancia de servidor sql. – paqogomez

3

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í, es compatible para usar tipo de datos de imagen, pero estar al tanto de:

https://docs.microsoft.com/en-us/sql/t-sql/data-types/binary-and-varbinary-transact-sql

varbinary [(N | max)]

de longitud variable de datos binarios. 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 en de longitud. El sinónimo ANSI SQL para varbinary es binario variable.

Por lo tanto, ambos tienen el mismo tamaño (2 GB). Pero tenga en cuenta:

https://docs.microsoft.com/en-us/sql/database-engine/deprecated-database-engine-features-in-sql-server-2016#features-not-supported-in-a-future-version-of-sql-server

Aunque el final del tipo de datos "imagen" todavía no está determinado, se debe utilizar el "futuro" equivalente a prueba.

Pero tiene que preguntarse: ¿por qué almacenar BLOBS en una columna?

https://docs.microsoft.com/en-us/sql/relational-databases/blob/compare-options-for-storing-blobs-sql-server

Cuestiones relacionadas