是否可以更改ntext
SQL Server 2005 中字段的大小限制,或者必须将字段转换为varchar(max)
?
答案1
CLOB/BLOB 字段的大小限制(n/text 和 image)固定为 2,147,483,647 字节。这些数据类型自 SQL 2008 起已弃用,可能不会包含在下一版本中。
它们的更新版本是 varchar(max)、nvarchar(max) 和 varbinary(max) 数据类型,它们具有相同的限制。请注意,nvarchar 和 ntext 中的“n”前缀表示 Unicode 字符存储在字段中,因此从 ntext 的真正转换应该是 nvarchar(max)。
希望有帮助!
乔
答案2
您必须转换为 varchar(max)。该限制是硬编码的,除了向 Microsoft 提出功能请求外,无法以任何其他方式控制。
然而,我非常怀疑它是否会被允许,因为根据 MSDN,它已被标记为在未来版本的 SQL Server 中删除这里。
答案3
补充一下已经说过的内容:
- text/ntext/image 至少要到 SQL11 + 1 才会被删除(也就是说,它们肯定还会在 SQL Server 的下一个主要版本中存在 - 是我的团队弃用了它们)
- 在可预见的未来,任何 LOB 类型的限制都不会提高
- 查看 FILESTREAM 功能,它允许将大于 2GB 的 LOB 值存储在文件系统中,但植根于数据库并保持完全事务同步。我为 MS 写了一份白皮书 - 请参阅SQL Server 2008 FILESTREAM 白皮书在 MSDN 上发布。
希望这可以帮助