One of the more common dilemmas schema designers face, and I’m realizing it’s something that I should probably spend more time on in my presentations, is whether to use
nvarcharfor columns that will store string data. As part of my #EntryLevel challenge, I thought I’d start by writing a bit about this here.
In general, I come across two schools of thought on this:
varcharunless you know you need to support Unicode.
nvarcharunless you know you don’t.
My preference is to start with Unicode. 15 years ago, you could easily get away with using ASCII for most US-developed systems, but the likelihood that you will need to store data in multiple, varied languages is significantly higher today. And having already refactored one application to support Unicode after it became fairly large, I’d rather not do that again…