我有一个简单的问题,我找不到任何答案.我经常需要将一种类型的数据库转换为另一种类型,因此我正在编写一个程序来来回转换MS SQL Server数据库.我遇到的问题是我无法声明最大长度超过4000的nvarchar变量.我明白了
"参数'description'的大小(6000)超过了允许的最大值(4000)."
然而,在原始数据库中明确定义为nvarchar(6000),至少我认为是因为max_length是6000,如果使用max max_length是-1,对吧?我知道我可以使用nvarchar(max),但如果我正在编写转换数据库的软件,我希望尽可能保持原始版本.
nvarchar最大限制是最近更改还是我错过了一些设置?
给定的大小(6000)以字节为单位,其中当您指定长度时,以Unicode字符数表示。限制4000是因为nvarchar(xxxx)和nvarchar(max)的内部存储不同。如果要存储的空间超过4000个字符,请使用nvarchar(max)。