如果您要存储非结构化数据或文档(例如friendfeed),我只会使用非结构化数据模型,就像您建议的那样。
替代存储想法
对于非结构化数据,有许多比 SQL Server 更合适的数据存储系统。我建议将其中之一与您现有的结构化数据库结合起来。
SQL 选项
如果您无法做到这一点并且必须在 SQL DB 中存储非结构化数据,那么您有几个选择,数据类型并不是真正唯一关心的问题,您的数据是如何存储的。
以下 2 个选项为这两个挑战提供了解决方案...
XML - xml 数据类型
您需要考虑要存储的数据。如果您需要返回它并对内容执行复杂的搜索,那么 XML 是您最好的选择。它还允许您验证存储的数据是否与定义的结构匹配(使用 dtd)。见这篇文章。
http://msdn.microsoft.com/en-us/library/ms189887.aspx
或 JSON - nvarchar(max) 数据类型
如果您需要返回此数据以在网页上显示或在 Javascript 中使用,那么存储为 JSON 将是最容易使用的。您可以轻松地将其加载到可以直接使用和操作的对象模型中。缺点是与 XPATH 相比,对数据的复杂搜索会非常慢(遍历所有对象,找到匹配的对象)。
如果您要存储来自其他语言的数据或奇怪的字符,请使用 nvarchar(unicode 版本)。否则 varchar 将是最有效的。