четверг, 18 августа 2011 г. - www.msmirnov.ru

Как заставить работать filtered indexes в MS SQL Server 2008.

Недавно мы столкнулись со следующей проблемой – создали несколько filtered indexes, которые не хотели работать – оптимизатор не хотел их использовать, даже если условия запроса удовлетворяли условиям индекса.

В Books online проблема описана довольно скупо, но вот что удалось выяснить – для нормальной работы filtered indexes необходимо произвести те же настройки, которые нужны для indexed views или indexed computed columns, а именно (http://msdn.microsoft.com/en-us/library/ms175088.aspx):

ANSI_NULLS ON
ANSI_PADDING ON
ANSI_WARNINGS ON
ARITHABORT ON
CONCAT_NULL_YIELDS_NULL ON
NUMERIC_ROUNDABORT OFF
QUOTED_IDENTIFIER ON

После включения этих опций filtered indexes начинают работать как надо.
Мой сайт - www.msmirnov.ru