c'est une limitation de SSMS et non du champ de texte, mais vous devez utiliser varchar(max) car le texte est obsolète
Voici également un test rapide
create table TestLen (bla text)
insert TestLen values (replicate(convert(varchar(max),'a'), 100000))
select datalength(bla)
from TestLen
Renvoie 100000 pour moi