Еще один фактоид для этой проблемы. По состоянию на 2015 г. возвращение значения типа XML приводит к тому, что первые 25 6 символов возвращаются корректно. Тем не менее, большая часть остального XML будет возвращена как случайный мусор со случайным чистым фрагментом текста. На самом деле, если бы мне пришлось угадывать, запрос возвращает случайный блок памяти для всех символов после 256.
В моем конкретном случае я генерировал XML (используя несколько вложенных запросов FOR XML) для отправки на веб-сайт для отображения. В этом случае решение, которое я нашел, состояло в том, чтобы использовать взлом CAST, приведя данные к varchar (max).
Итак, помните: если в результатах запроса вы видите блок из 256 чистых символов, за которыми следует случайный мусор, это, вероятно, значение XML, возвращаемое как тип XML вместо типа varchar (max).
CAVEAT: это может применяться, только если XML генерируется динамически.