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中当两个整型字段中一个为空时如何比较大小?

sql 2005数据库 如何操作xml

尝试将 XML 内容存储到 SQL Server 2005 中失败(编码问题)

SQL Server XML 数据类型

sql数据库一行最多插入多大的问题

具有强类型和无大小限制的轻量级 SQL 数据库