2010-05-07 5 views
0

J'utilise SQL Server 2008.Index SQL Server Scripting

Est-il possible de créer un script en boucle sur toutes les tables dans une base de données générant un ensemble de scripts de dépôt d'index et de créer des scripts séparément? Ce que je dois faire est de supprimer tous les index sur un ensemble de bases de données pour exécuter un processus de chargement de données lourd, mais je veux réactiver tous les index. Je ne veux pas avoir à passer par chaque table et écrire un index, puis créer un index.

Répondre

0

Oui. Quelqu'un l'a déjà fait donc pas besoin d'écrire à nouveau un script ... :-)

Drop All Indexes and Stats in one Script

Modifier. Oops. Pour créer ...

Avant de les déposer ... Dans SSMS, clic droit, générer des scripts, etc

+0

Alors, comment il va recréer les :) – dcp

+0

je fini par utiliser ce script pour faire les gouttes alors j'ai trouvé une personne d'outil interne créé pour script sur tous les index merci :). –

1

Je pense que ce que vous voulez faire est here. Vous n'avez pas vraiment besoin de supprimer les index, il suffit de les désactiver pendant que votre chargement est en cours. Ce script vous permettra de désactiver les index pour votre chargement, puis de le réactiver lorsque vous avez terminé, et la beauté est qu'il fait tout en un seul coup pour toute la base de données avec une seule commande.

+0

C'est un SP exceptionnel. – SqlRyan

+0

Le problème avec la désactivation de l'index est que vous ne pouvez plus accéder à la table, si elle est en cluster je pense. –