Vous tronquez les données à 8000 octets avant de les insérer. Pour créer une valeur de plus de 8000 caractères, vous devez utiliser le type de données varchar(max), alors que le type de 'a' est simplement varchar.
create table test(name varchar(max))
insert into test
values(replicate(CAST('a' AS varchar(MAX)), 100000));
select len(name) from test;