Моят отговор на това не е за използването на Max, колкото за причината за VARCHAR(max) срещу TEXT.
В моята книга; на първо място, освен ако не можете да сте абсолютно сигурни, че никога няма да кодирате нищо друго освен английски текст и хората няма да се позовават на имена на чужди местоположения, тогава трябва да използвате NVARCHAR или NTEXT.
Второ, това е какво ви позволяват полетата.
TEXT е труден за актуализиране в сравнение с VARCHAR, но получавате предимството на индексирането на пълен текст и много умни неща.
От друга страна, VARCHAR(MAX) има известна неяснота, ако размерът на клетката е <8000 знака, тя ще се третира като данни за ред. Ако е по-голямо, ще се третира като LOB за целите на съхранението. Тъй като не можете да знаете това без да направите заявка RBAR, това може да има стратегии за оптимизация за места, където трябва да сте сигурни за вашите данни и колко четения струват.
В противен случай, ако употребата ви е относително ежедневна и не очаквате да имате проблеми с размера на данните (т.е. използвате .Net и следователно не трябва да се притеснявате за размера на вашите обекти string/char*) тогава използването на VARCHAR(max) е добре.