I doubt that you need nchar(1000)
. Or for that matter nchar(200)
. Keep in mind that nchar
is a fixed length string. nchar(1000)
would only make sense if all your column are close to 1000 characters long. But in most string columns, the length varies considerably, so nvarchar(1000)
is a better choice.
This also helps you to get around this error. This is because an nchar(1000)
value always takes up 2000 bytes, even if it's empty. Whereas an nvarchar(1000)
value takes up as many bytes needed to express the value, normally two bytes per character + two bytes for the length.
If you have more overly long nchar
columns, you should change these as well.