Du trunkerar data till 8000 byte innan du infogar den. För att skapa ett värde som är längre än 8000 tecken måste du använda datatypen varchar(max), medan typen av 'a' bara är varchar.
create table test(name varchar(max))
insert into test
values(replicate(CAST('a' AS varchar(MAX)), 100000));
select len(name) from test;