• I' am with a very similar issue.

    We have migrated from 2005 to 2008, tough the database is with compatibility level=80.

    Some views have got slow and are with different execution plans. Change from index seek to index scan on the same index

    A nvarchar parameter is passed to view.

    And when i change the type to varchar the execution plan came back to index seek.

    I have investigate the server, database and login SET options (ex.:ANSI_NULLS, ANSI_PADDING) and the are all equal. But when the parameter used on the view is nvarchar i have noticed that the set options implicit change.

    Picking the query under the view and passing the nvarchar parameter the plan came back to use the index seek and the SET option comeback to be equal.

    Another strange behavior is when pick the query under the view to execute and put as derived table passing the nvarchar paramer(Ex.: select * from(viewquery) where column=@nvarcharparameter) the SET options come back to implicit change between the versions.

    So, i think that is something with CTE, views and derived tables(subquerys) with the tempdb.

    Does someone have any suggestions what could be?