nvarchar(max) é realmente um tipo de dados diferente de nvarchar(integer-length) . Suas características são mais parecidas com o obsoleto text tipo de dados. Se
nvarchar(max) o valor se torna muito grande, como text , ele será armazenado fora a linha (uma linha é restrita a 8.000 bytes no máximo) e um ponteiro para ela é armazenado na própria linha. Você não pode indexar com eficiência um campo tão grande e o fato de que os dados podem ser armazenados em outro lugar complica ainda mais a pesquisa e a verificação do índice.Uma restrição exclusiva exige que um índice seja aplicado e, como resultado, os designers do SQL Server decidiram não permitir criando uma restrição única sobre ele.