to jest ograniczenie SSMS nie pola tekstowego, ale powinieneś używać varchar(max), ponieważ tekst jest przestarzały
Oto krótki test
create table TestLen (bla text)
insert TestLen values (replicate(convert(varchar(max),'a'), 100000))
select datalength(bla)
from TestLen
Zwraca dla mnie 100000