Невозможно указать FILLFACTOR для кластеризованного индекса в SQL Server (ошибка ANSI_PADDING)
Почему не могу FILLFACTOR
быть установлен на кластеризованный индекс с PERSISTED NOT NULL
вычисляемые столбцы?
Запрос для установки FILLFACTOR
:
ALTER INDEX [PK_MyIndex] ON [MyTable] REBUILD PARTITION=ALL WITH (FILLFACTOR = 90)
Ошибка:
ALTER INDEX failed because the following SET options have incorrect settings: 'ANSI_PADDING'. Verify that SET options are correct for use with indexed views and/or indexes on computed columns and/or filtered indexes and/or query notifications and/or XML data type methods and/or spatial index operations.
Можно ли заставить это работать?
1 ответ
Решение
Пожалуйста, прочитайте следующую статью: https://msdn.microsoft.com/en-AU/library/ms187403.aspx
SET ANSI_PADDING должен быть включен, когда вы создаете или изменяете индексы для вычисляемых столбцов или индексированных представлений. Дополнительные сведения о необходимых настройках параметров SET с индексированными представлениями и индексами для вычисляемых столбцов см. В разделе "Соображения при использовании операторов SET" в инструкциях SET (Transact-SQL).
Попробуйте следующее утверждение:
SET ANSI_PADDING ON
ALTER INDEX [PK_MyIndex] ON [MyTable] REBUILD PARTITION=ALL WITH (FILLFACTOR = 90)