nvarchar(max)
er virkelig en anden datatype end nvarchar(integer-length)
. Dets karakteristika ligner mere den forældede text
datatype.
Hvis nvarchar(max)
værdien bliver for stor, f.eks. text
, vil den blive gemt udenfor rækken (en række er begrænset til maksimalt 8000 bytes) og en pointer til den gemmes i selve rækken. Du kan ikke effektivt indeksere et så stort felt, og det faktum, at data kan lagres et andet sted, komplicerer yderligere søgning og scanning af indekset.
En unik begrænsning kræver, at et indeks håndhæves, og som et resultat besluttede SQL Server-designere at nægte at tillade skabe en unik begrænsning på det.