我正在调试我们组织中的现有存储过程。它试图返回一个 2047 字节长的 XML 字符串(使用“for XML auto”)。
当我在 SSMS 中运行存储过程时,返回值出现在结果窗口中。如果我单击该值(显示为超链接),则会打开一个新窗口并显示整个字符串。(顺便说一句,字符串是一个 XML 元素,所有数据都包含在属性中。不是我的设计,但这就是我正在使用的。)
但是,如果我在结果窗格中查看结果(通过拖出列的宽度),那么最后几个字节将被截断。我只看到 2034 个字符。
因为它只有 2034 个字符,所以它不是 SSMS 结果窗口的限制(默认为 2MB,现在设置为无限制)。这是发送到调用此存储过程的服务的完全相同的字符串(通过 ADO.NET 和 ExecuteScalar)。
为什么存储过程会截断 XML?
谢谢,杰