Question

J'ai quelques indices que je jouais avec mon serveur dev. Je mets le facteur de remplissage de ces indices en utilisant la commande suivante:

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

Que des ensembles et des reconstructions tout l'index sur dbo.Table. Maintenant, ce que je veux est de mettre le facteur de remplissage retour à la valeur par défaut du serveur . IE, au niveau du serveur tous les index sont configurés pour avoir un facteur de remplissage de 95. Je veux que les indices à utiliser la valeur par défaut du serveur à nouveau, pas seulement le facteur de remplissage ensemble à 95.

La raison pour laquelle je veux faire cela est que, si je le script de cet indice et le déplacer vers un nouveau serveur, il utilisera le facteur de remplissage par défaut de ce serveur plutôt que spécifié 95.

Était-ce utile?

La solution

Grâce à des tests, il semble que revenir à la fillfactor par défaut sur un indice dont vous avez besoin de laisser tomber et de le recréer. Lorsque vous faites un ALTER INDEX ... REBUILD, les paramètres non spécifiés restent les mêmes dans les métadonnées de l'indice, sauf indication contraire explicitement changé dans la commande ALTER INDEX.

drop index IX_YourIndex
on YourTable
go

create index IX_YourIndex
on YourTable(YourKeyColumn)
go

Pour vérifier ceci:

select
    name,
    fill_factor
from testdb.sys.indexes
where name = 'IX_YourIndex'

fill_factor doit être réglé sur 0 pour indiquer qu'il utilise la valeur par défaut de l'instance. (Note: 0 correspond à la valeur par défaut, même si le facteur de remplissage d'instance configuré est réglé sur 95)

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top