Corrigido...
A tabela pode ser varchar(max), mas os valores que você atribui são apenas nvarchar (4000)
Isso é,
maxcolumn = maxvalues + smallstring1 + **unicodestring** + smallstring3 + smallstring4 ...
O lado direito ficará em nvarchar(4000) máximo devido à precedência do tipo de dados. nvarchar> varchar. Quando atribuído à coluna max, ele trunca
Você terá que garantir todos os valores à direita em varchar
É ainda como divisão inteira... o que me confundiu foi o limite de 4000 quando varchar é 8000... isso implica nvarchar em algum lugar.
Para Nvarchar (Max) estou recebendo apenas 4000 caracteres no TSQL?