Det kan du ikke - som fejlmeddelelsen allerede tydeligt angiver, kan enhver indeksindtastning ikke være mere end 900 byte lang.
Du kan ikke indeksere et varchar(4096) felt - punktum. Ingen vej udenom - det er en hård SQL Server-grænse - ingen måde at konfigurere den, ændre den, gøre den større. Se Bøger online – maksimal størrelse på indeksnøgler til bekræftelse.
Du skal enten begrænse din "værdi"-kolonne til mindre end 900 bytes eller finde en anden måde at gemme disse data på - eller bare lade være med at inkludere dem i indekset. Hvis du kun ønsker, at dit "værdi"-felt i indekset skal have et dækkende indeks (for at kunne opfylde forespørgsler fra indeksindgangen), kan du flytte feltet til at være en inkluderet kolonne i indekset - de falder ikke under grænsen på 900 byte.
CREATE NONCLUSTERED INDEX idx_ncl_2
ON BFPRODATTRASSOCIATION(attributeid)
INCLUDE (productid, value)
Det indeks burde virke.