在这个使用 SQL Server 2008(版本号为10.0.1600)的数据库中,有一个名为“Events”的表,其中包含一个名为“Details”的“text”列。(是的,我意识到它实际上应该是一个
这个列包含非常大的异常日志和相关的JSON数据,我正在尝试通过SQL Server Management Studio访问它们,但每当我将网格中的结果复制到文本编辑器时,它都会在43679个字符处截断。
我曾经在互联网的不同位置上阅读过,您可以将查询结果的XML数据的最大检索字符数在“工具 > 选项 > 查询结果 > SQL Server > 结果到网格”中设置为无限制,然后执行类似于以下的查询:
然而,在设置了上述选项后,运行查询并单击结果中的链接,我仍然会收到以下错误消息:
无法显示XML。 发生了以下错误:已发生意外的文件结尾。 行5,位置220160。
其中一个解决方案是增加从服务器检索XML数据的字符数。 要更改此设置,请在“工具”菜单上单击“选项”。
那么,有没有办法访问这些数据?将列转换为varchar(MAX)是否可以解决我的问题?
varchar(MAX)
列,但是设置此数据库的人没有这样做。)这个列包含非常大的异常日志和相关的JSON数据,我正在尝试通过SQL Server Management Studio访问它们,但每当我将网格中的结果复制到文本编辑器时,它都会在43679个字符处截断。
我曾经在互联网的不同位置上阅读过,您可以将查询结果的XML数据的最大检索字符数在“工具 > 选项 > 查询结果 > SQL Server > 结果到网格”中设置为无限制,然后执行类似于以下的查询:
select Convert(xml, Details) from Events
where EventID = 13920
(请注意,数据列根本不是XML。将该列转换为XML仅是我通过Google找到的解决方法,别人曾用它来避免从text或varchar(MAX)列检索数据时SSMS的限制。)然而,在设置了上述选项后,运行查询并单击结果中的链接,我仍然会收到以下错误消息:
无法显示XML。 发生了以下错误:已发生意外的文件结尾。 行5,位置220160。
其中一个解决方案是增加从服务器检索XML数据的字符数。 要更改此设置,请在“工具”菜单上单击“选项”。
那么,有没有办法访问这些数据?将列转换为varchar(MAX)是否可以解决我的问题?