Search code examples
sql-servert-sqlsql-server-2005sql-types

SQL Server, nvarchar(MAX) or ntext, image or varbinary?


When should I choose one or the other? What are the implications regarding space and (full-text) indexing?

BTW: I'm currently using SQL Server 2005 planing to upgrade to 2008 in the following months.

Thanks


Solution

  • The new (max) fields make it a lot easier to deal with the data from .NET code. With varbinary(max), you simply set the value of a SqlParameter to a byte array and you are done. WIth the image field, you need to write a few hundred lines of code to stream the data into and out of the field.

    Also, the image/text fields are deprecated in favor of varbinary(max) and varchar(max), and future versions of Sql Server will discontinue support for them.