Nie możesz — jak już wyraźnie mówi komunikat o błędzie, żaden wpis indeksu nie może być dłuższy niż 900 bajtów.
Nie można zindeksować pola varchar(4096) - kropka. Nie ma mowy o tym - to twardy limit SQL Server - nie ma możliwości, aby go skonfigurować, zmienić, powiększyć. Zobacz Książki online — maksymalny rozmiar kluczy indeksu do potwierdzenia.
Musisz ograniczyć kolumnę „value” do mniej niż 900 bajtów lub znaleźć inny sposób przechowywania tych danych – lub po prostu nie uwzględniać ich w indeksie. Jeśli chcesz, aby tylko pole „wartość” w indeksie miało indeks pokrywający (aby móc spełnić zapytania z pozycji indeksu), możesz przenieść to pole do kolumny dołączonej w indeksie - te nie mieszczą się w limicie 900 bajtów.
CREATE NONCLUSTERED INDEX idx_ncl_2
ON BFPRODATTRASSOCIATION(attributeid)
INCLUDE (productid, value)
Ten indeks powinien działać.