Краткий ответ: отлично для сценариев, плохо для производственного кода.
Это не считается лучшей практикой. Есть и обратная сторона, это создает незначительный удар по производительности, поскольку 2-байтовые символы преобразуются в 1-байтовые символы.
Если вы не знаете, куда идет вставка, или не знаете, откуда исходит исходный текст (скажем, это утилита вставки данных общего назначения, которая генерирует операторы вставки для неизвестной цели, например, при экспорте данных ), N'foo 'может быть более защитным стилем кодирования.
Таким образом, недостаток невелик, а достоинством является то, что код вашего скрипта гораздо более адаптируется к изменениям в структуре базы данных. Возможно, именно поэтому вы видите это в больших скриптах вставки данных.
Однако, если рассматриваемый код предназначен для повторного использования в среде, в которой вы заботитесь о качестве кода, вам не следует использовать N'the string'
, поскольку вы добавляете преобразование, в котором нет необходимости.