Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

scripts pour la création des index d'une base

2 réponses
Avatar
laetitia
bonjour,

Dans les plans de maintenance (onglet Optimisation), il existe une case à
cocher "Reorganize data and index pages". Cette case recréé les index de
toutes les tables d'une base donnée.

J'aimerais intégrer ce comportement dans un job :
- etape 1 : je passe la base en mode simple
- etape 2 : re-création des index de la base (script, plan de
maintenance ?)
- etape 3 : je passe la base en mode complet
- etape 4 : sauvegarde

Malheureusement, je ne peux pas synchroniser mon plan de maintenance entre
les étapes de mon job (du moins j'ai pas trouvé...).

Dans l'aide, j'ai trouvé la commande "dbcc reindex" mais cette commande est
exécutée sur une seule table et pas sur la base entière.

Est-ce quelqu'un connait la commande qui est executée par la plan de
maintenance pour la réindexation de la base ? Est-ce que c'est possible de le
faire sous forme de script ?

Merci

2 réponses

Avatar
Bouarroudj Mohamed
exec sp_MSforeachtable 'DBCC DBREINDEX ( "?")'

Si vous aimez pas les SP non documentées vous pouvez creer un cursor sur
information_schema.tables et executer
DBCC DBREINDEX(@NomTable)


"laetitia" wrote in message
news:
bonjour,

Dans les plans de maintenance (onglet Optimisation), il existe une case à
cocher "Reorganize data and index pages". Cette case recréé les index de
toutes les tables d'une base donnée.

J'aimerais intégrer ce comportement dans un job :
- etape 1 : je passe la base en mode simple
- etape 2 : re-création des index de la base (script, plan de
maintenance ?)
- etape 3 : je passe la base en mode complet
- etape 4 : sauvegarde

Malheureusement, je ne peux pas synchroniser mon plan de maintenance entre
les étapes de mon job (du moins j'ai pas trouvé...).

Dans l'aide, j'ai trouvé la commande "dbcc reindex" mais cette commande
est
exécutée sur une seule table et pas sur la base entière.

Est-ce quelqu'un connait la commande qui est executée par la plan de
maintenance pour la réindexation de la base ? Est-ce que c'est possible de
le
faire sous forme de script ?

Merci



Avatar
Med Bouchenafa
Si tu veux simuler le comportement des plans de maintenance, le plus simple
est d'utiliser xp_sqlmaint

Le code suivant reconstruit les index de la base Northwind
Use Master
Exec xp_sqlmaint '-S (local) -U sa -P -D Northwind -RebldIdx 30'

Voir Aide En Ligne sur xp_sqlmaint. Cela permet de faire tout ce que font
les plans de maintenance

--
Avec mes meilleurs voeux 2006
Med Bouchenafa


"laetitia" a écrit dans le message de
news:
bonjour,

Dans les plans de maintenance (onglet Optimisation), il existe une case à
cocher "Reorganize data and index pages". Cette case recréé les index de
toutes les tables d'une base donnée.

J'aimerais intégrer ce comportement dans un job :
- etape 1 : je passe la base en mode simple
- etape 2 : re-création des index de la base (script, plan de
maintenance ?)
- etape 3 : je passe la base en mode complet
- etape 4 : sauvegarde

Malheureusement, je ne peux pas synchroniser mon plan de maintenance entre
les étapes de mon job (du moins j'ai pas trouvé...).

Dans l'aide, j'ai trouvé la commande "dbcc reindex" mais cette commande
est
exécutée sur une seule table et pas sur la base entière.

Est-ce quelqu'un connait la commande qui est executée par la plan de
maintenance pour la réindexation de la base ? Est-ce que c'est possible de
le
faire sous forme de script ?

Merci