(SQL Server 2005 and later) If I have a column that will NEVER be required to hold any characters other than the 256 ANSI characters is there any reason why I'd make it NVARCHAR instead of VARCHAR? Are there performance or storage advantages to using VARCHAR instead of NVARCHAR?
Your main consideration will be around that column and how it will be used. Will it be joined in any way to another column? If so you'll want the datatypes to match to prevent an implicit conversion, table scan and poor performance. Likewise, if you'll be querying that column as a part of a where clause from a .NET application which passes in unicode data by default you'll want to match up the types. Just remember, nvarchar uses 2 bytes per character stored versus a single byte for varchar data. There's always storage space to consider.