Det här är normalt. Det kommer inte att använda indexet om inte predikatet är tillräckligt selektivt för att motivera det.
Det låter som att de allra flesta poster inte är NULL så istället för att hitta dessa via det icke-klustrade indexet och sedan behöva göra massor av bokmärkessökningar och slumpmässiga I/O för att hämta resten av kolumnerna för att returnera det är snabbare och effektivare att skanna bara hela klustrade indexet.
Du kan använda FORCESEEK
att tvinga fram det beteende som du säger att du vill. Du kommer sannolikt att upptäcka att tiden som det tar och I/O-statistiken går igenom taket jämfört med den klustrade indexskanningen.
SET STATISTICS IO ON
SELECT * FROM
YourTable WITH (FORCESEEK)
WHERE YourCol IS NOT NULL