Corregido...
La tabla puede ser varchar(max) pero los valores que asigna son solo nvarchar (4000)
Es decir,
maxcolumn = maxvalues + smallstring1 + **unicodestring** + smallstring3 + smallstring4 ...
El lado derecho permanecerá en nvarchar(4000) máximo debido a la precedencia del tipo de datos. nvarchar> varchar. Cuando se asigna a la columna máxima, se trunca
Deberá asegurarse de que todos los valores estén a la derecha en varchar
Es todavía como la división de enteros... lo que me confundió fue el límite de 4000 cuando varchar es 8000... esto implica nvarchar en alguna parte.
Para Nvarchar (Max) solo obtengo 4000 caracteres en TSQL?