"NACIONAL" neste caso significa caracteres específicos de diferentes nacionalidades. As línguas do Extremo Oriente, especialmente, têm tantos caracteres que um byte não é espaço suficiente para distingui-los todos. Portanto, se você tiver um aplicativo somente em inglês (ascii) ou um campo somente em inglês , você pode usar os tipos CHAR e VARCHAR mais antigos, que permitem apenas um byte por caractere.
Dito isso, na maioria das vezes você deve usar NCHAR/NVARCHAR. Mesmo que você ache que não precisa dar suporte (ou potencialmente dar suporte) a vários idiomas em seus dados, até mesmo aplicativos somente em inglês precisam ser capazes de lidar com ataques de segurança usando caracteres de idiomas estrangeiros.
Na minha opinião, o único lugar onde os tipos CHAR/VARCHAR mais antigos ainda são preferidos é para códigos internos somente ASCII referenciados com frequência e dados em plataformas como Sql Server que suportam a distinção — dados que seriam equivalentes a um
enum
em uma linguagem cliente como C++ ou C#.