Невозможно указать 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)
Другие вопросы по тегам