SQL 2005 中 XML 数据类型的大小限制
Posted
技术标签:
【中文标题】SQL 2005 中 XML 数据类型的大小限制【英文标题】:size limit for XML datatype in SQL 2005 【发布时间】:2009-06-01 11:25:40 【问题描述】:SQL 2005 中的 XML 数据类型有大小限制吗?
当我尝试从我的存储过程中返回超过 44kb 大小的 XML 字符串时,它只返回一个空字符串。我正在使用 FOR XML PATH 从我的存储过程中返回 XML 格式的分层数据集。
【问题讨论】:
【参考方案1】:It's 2GB 用于 xml 数据类型。
您是否仅在 SSMS 或客户端代码中获得 44k? SSMS 限制了 Tools..Options..Query Results 下的 LOB 类型数据
评论后编辑:
如果您再次进入选项,SSMS 可能已将值改回。
如果您在网格模式下查看结果,则 SSMS 会将 xml 显示为一个链接,该链接会在一个包含所有数据的新窗口中打开(我使用 FOR XML AUTO 检查了一个 16000 行表)
【讨论】:
我在 SSMS 上获得了 44k,我尝试将 XML 数据最大字符数更改为无限制,但它仍然没有返回超出特定限制。不过,它在服务器上运行良好。 更新答案:尝试网格模式 我已经在使用带有 xml 作为链接的网格模式,但它仍然是空白的。无论如何,它在开发服务器上绝对完美,但在我的机器上却不行,不同的是我有快速版,服务器有企业版。也许,它与此有关,但不确定。【参考方案2】:根据文档,它将 XML 数据存储为 BLOB。所以 SQL 2005 的限制应该是 2gb,而在 SQL 2008 中实际上是无限的。
【讨论】:
根据msdn.microsoft.com/en-us/library/ms187339.aspx,SQL 2008 和 SQL 2005 上的 xml 数据类型为 2GB 我的错误,我引用了 MSDN 之外的一些不良信息。【参考方案3】:如果您在 SQL Server Management Studio 中查看结果,则可以选择设置它可以显示多少数据,默认情况下只有 2MB。
要更改它,请遵循以下路径: 工具 > 选项 > 查询结果 > SQL Server > 网格结果 > 检索的最大字符数
【讨论】:
以上是关于SQL 2005 中 XML 数据类型的大小限制的主要内容,如果未能解决你的问题,请参考以下文章
Sql Server 2005中当两个整型字段中一个为空时如何比较大小?