В старых версиях SQL (2000 и более ранних?) Максимальная длина строки составляла 8 КБ (или 8060 байт).Если вы используете varchar для большого количества длинных текстовых столбцов, они будут включены в эту длину, тогда как любые текстовые столбцы - нет, поэтому вы можете хранить больше текста в строке.
Эта проблема решалась в более поздних версиях SQL.
Эта страница MSDN включает в себя инструкцию:
SQL Server 2005поддерживает хранилище с переполнением строк, что позволяет перемещать столбцы переменной длины вне строки.В основной записи хранится только 24-байтовый корень для столбцов переменной длины, выдвинутых из строки;из-за этого эффективный предел строки выше, чем в предыдущих выпусках SQL Server.Дополнительные сведения см. В разделе «Переполнение строки, превышающее 8 КБ» в электронной документации по SQL Server 2005.