Sql-Server

如何將索引填充因子設置回伺服器預設值?

  • May 29, 2013

我有一些在我的開發伺服器上使用的索引。我使用以下命令設置這些索引的填充因子:

alter index all on dbo.Table
rebuild with (fillfactor=80)

這會設置並重建 dbo.Table 上的所有索引。現在我想要將填充因子設置回伺服器的預設值。IE,在伺服器級別,所有索引的填充因子都設置為 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)

引用自:https://dba.stackexchange.com/questions/16024