Как я могу настроить коэффициент заполнения индекса обратно на сервер по умолчанию?
-
22-10-2019 - |
Вопрос
У меня есть некоторые индексы, с которыми я играл на своем сервере Dev. Я установил коэффициент заполнения этих индексов, используя следующую команду:
alter index all on dbo.Table
rebuild with (fillfactor=80)
Это устанавливает и восстанавливает весь индекс на dbo.table. Теперь я хочу установить FillFactor Вернуться к дефолте сервера. Анкет Т.е. на уровне сервера все индексы установлены для того, чтобы иметь FillFactor 95. Я хочу, чтобы индексы снова использовали сервер по умолчанию, а не просто установили коэффициент заполнения 95.
Причина, по которой я хочу сделать это, заключается в том, что, если я списал на этот индекс и перемещаю его на новый сервер, он будет использовать коэффициент заполнения этого сервера по умолчанию, а не указанный 95.
Решение
Благодаря тестированию кажется, что вернуться к филлифактору по умолчанию по индексу, который вам нужно бросить и воссоздать его. Когда вы делаете ALTER INDEX ... REBUILD
, любые неуточненные параметры останутся прежними в метаданных индекса, если иное не изменяется в ALTER INDEX
командование
drop index IX_YourIndex
on YourTable
go
create index IX_YourIndex
on YourTable(YourKeyColumn)
go
Чтобы проверить это:
select
name,
fill_factor
from testdb.sys.indexes
where name = 'IX_YourIndex'
fill_factor
должен быть настроен на 0
Чтобы обозначить, что он использует значение по умолчанию экземпляра. (Примечание: 0 предназначено для значения по умолчанию, даже если экземпляр, настроенный, коэффициент заполнения установлен на 95)