In fact, it can reorganize pages if you update nvarchar columns. Depending on what the update does for these columns, they may cause the record to become larger than the space reserved for it before the update. (See explanation now nvarchar is stored at http://www.databasejournal.com/features/mssql/physical-database-design-consideration.html .)
So to say, the record contains a string of 20 characters stored in nvarchar - it takes 20 * 2 + 2 (2 for the pointer) bytes in space. This is written in the original insert into your table (based on the index structure). SQL Server will only use as much space as your nvarchar really takes.
Now there is an update and inserts a string of 40 characters. And oops, the space for writing in your sheet structure of your index is suddenly too small. Thus, the record goes to another physical place with a pointer in the old place indicating the actual location of the updated record.
This leads to the fact that your index becomes obsolete, and because the whole physical structure needs to be changed, you see how much index work is happening behind the scenes. It is very likely that an exclusive lock table will escalate.
I donβt know how best to deal with this. Personally, if possible, I take an exclusive table lock, drop the index, do updates, reindex. Since your updates sometimes obsolete the index, this may be the fastest option. However, this requires a maintenance window.
source share