SQL Server - How to alter column nvarchar length without drop

Mário Tomé picture Mário Tomé · Aug 23, 2017 · Viewed 53.9k times · Source

I'm trying to alter the length of the column "Body" in table "Post" like this:

ALTER TABLE Post ALTER COLUMN Body nvarchar(8000) NOT NULL;

The column is defined as nvarchar(4000) and it gives me this error:

Msg 2717, Level 16, State 2, Line 1 The size (8000) given to the parameter 'Body' exceeds the maximum allowed (4000).

Answer

UnhandledExcepSean picture UnhandledExcepSean · Aug 23, 2017

Use Max instead. If the column were declared as VARCHAR, 8000 would be ok.

ALTER TABLE Post ALTER COLUMN Body nvarchar(max) NOT NULL;