Resolving indexes on Views:
In SQL Server Enterprise, the query optimizer automatically considers the indexed view. To use an indexed view in the Standard edition or the Datacenter edition, the NOEXPAND
table hint must be used.
I'm guessing that you're on Standard Edition.
Maybe you're falling foul of other rules listed on that page, such as:
The estimated cost for using the index has the lowest cost of any access mechanisms considered by the query optimizer.
Like any query on a view, the reference to the view in the query is expanded into the view definition before optimization. If the optimizer finds a cheap enough way to satisfy the query before it considers matching the query tree to indexed views, you get a plan that accesses the base tables. WITH (NOEXPAND)
is the only way to guarantee the optimizer produces a plan that accesses an index on a view directly.