为什么sqlserver2012,varchar(max)、nvarchar(max)、text会截断只能存43690个字符?

问题遇到的现象和发生背景

我的sqlserver数据2012在存储请求数据时,数据长度自动截断也不报错。只能存43690个字符不知道什么原因。
我查了资料,varchar(max),最大可以存2的31次方-1个字符,相当于2GB,目前的数据远没有到2GB的数据,为什么存不进去呢?
可能的原因是什么?我应该去哪个方向排查呢?

问题相关代码,请勿粘贴截图
运行结果及报错内容

json内容被截断为 43690个字符。

我的解答思路和尝试过的方法

尝试了bing搜索查找,varchar(max)最大容量2GB.

我想要达到的结果

可以存储完整字符。大概有43690+30000个字符。

如果是存储文件一般不能使用varchar,用text类型可以达到4G大小。