web-dev-qa-db-fra.com

Avoir automatiquement des index non clusters dans un groupe de fichiers différent

Existe-t-il un moyen de déplacer automatiquement les index clusters a sur un groupe de fichiers et tous les index non clusters à un fichier de fichier différent B sur la création DDL? Nous avons des développeurs créant constamment des tableaux/des index et souhaiterions un moyen d'automatiser cet environnement de développement. Nous avons un ancien SAN = disque dur et, dans certains cas, la séparation des index sur différents groupes de fichiers peut optimiser les performances, selon notre DBA.

https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-files-and-fileGroups?view=SQL-SERVER-2017

1
user172193

L'index en cluster n'est qu'une table bien disposée. Lorsque nous créons une index clustered sur le tas, il organise des données des tables en fonction de la colonne de touche. Donc, le déplacement d'index groupés signifie que vous déplacez la table en différents groupes de fichiers.

Il n'y a pas de fonctionnalité intégrée dans SQL Server pour déplacer automatiquement les index vers un groupe de fichiers spécifique lorsque nous créons index, nous pouvons plutôt écrire un script de maintenance d'index pour déplacer des index sur un groupe de fichiers spécifique en fonction du type d'index ou de spécifier le groupe de fichiers pendant que nous sommes créer des index.

De plus, ce lien aidera, https://stackoverflow.com/questions/55187160/automatic-create-indexes-in-ditifferent-filegroup-edit-publish-profile-script

2
Rajesh Ranjan

Comme mentionné dans les réponses précédentes, aucune fonctionnalité intégrée ne doit créer d'index non clustered sur un groupe de fichiers différent, mais je peux penser à créer plusieurs groupes de fichiers spécifiquement pour index et déplacer des index non clusters à ces groupes de fichiers en fonction de certains critères (taille, fréquence de Utilisation. LUN, etc.). Ce serait une tâche de consommation de temps pour la première fois, car tout l'index sera déplacé à une seule fois, mais plus tard, vous pouvez planifier une tâche à la base hebdomadaire (le week-end) pour déplacer des index nouvellement créés pour indexer des groupes de fichiers. Cela garantirait que tous les index et tables non en cluster sont sur des groupes de fichiers séparés.

En ce qui concerne le script pour le mouvement de l'indice non clusterné, vous pouvez renvoyer cela article ainsi que celui-ci n . Et comme déjà mis en évidence par M. Rajesh - Index clustered n'a pas de stockage séparé, l'indice en plastique en mouvement est aussi bon que de déplacer la table elle-même.

1
Learning_DBAdmin