【发布时间】:2010-05-03 16:58:44
【问题描述】:
在此实时 SQL Server 2008(内部版本 10.0.1600)数据库中,有一个 Events 表,其中包含一个名为 text 的列 Details。 (是的,我意识到这实际上应该是一个varchar(MAX) 列,但是设置这个数据库的人并没有那样做。)
此列包含非常大的异常日志和我尝试通过 SQL Server Management Studio 访问的相关 JSON 数据,但每当我将结果从网格复制到文本编辑器时,它都会将其截断为 43679 个字符。
我在 Internet 上的各个位置读到,您可以将 Tools > Options > Query Results > SQL Server > Results To Grid 中为 XML 数据检索的最大字符数设置为无限制,然后执行如下查询:
select Convert(xml, Details) from Events
where EventID = 13920
(请注意,数据是列根本不是 XML。CONVERT将列转换为 XML 只是我从谷歌搜索中发现的一种解决方法,其他人用来绕过 SSMS 从 @ 检索数据的限制987654328@ 或varchar(MAX) 专栏。)
但是,在设置了上面的选项,运行查询并点击结果中的链接后,我仍然收到以下错误:
无法显示 XML。发生以下错误: 文件意外结束。第 5 行,位置 220160。
一种解决方案是增加从服务器检索 XML 数据的字符数。要更改此设置,请在“工具”菜单上单击“选项”。
那么,知道如何访问这些数据吗?将列转换为 varchar(MAX) 可以解决我的问题吗?
【问题讨论】:
标签: sql-server sql-server-2008 ssms