2015-10-09 3 views
1

J'ai une petite base de données d'environ 3 Go et les index sont très fragmentés. Il y a peu d'index qui sont fragmentés à 97%. Afin de réduire la fragmentation, j'ai commencé à reconstruire l'index. Mais après la reconstruction de l'index, je trouve que cette activité a généré beaucoup de journaux de transactions. Mon journal des transactions augmente de 35 à 40% en raison de la reconstruction de l'index.Croissance du journal des transactions 35% au moment de l'index de reconstruction

J'ai une mise en miroir et un envoi de journaux sur cette base de données. Maintenant, la question est de savoir comment puis-je limiter SQL Server qu'il ne génère pas le journal pour l'index reconstruire activité ou générer moins de journal pour ce type d'activité

Notes:

  1. Je suis passé par certains sites Web où les gens ont suggéré de mettre la base de données en mode de récupération simple et en vrac et faire ce genre d'activité. Je ne peux pas faire ça, je dois changer beaucoup de choses pour ça.
  2. Je suis déjà en train de suivre la règle du pouce de Microsoft qui consiste à reconstruire ou à réorganiser l'index i.e> = 30% de reconstruction de fragmentation et < 30% de réorganisation.
+0

est-il possible pour vous de créer/modifier des indinzes dans cette base de données? Peut-être qu'il y a quelque chose qui ne va pas avec ça. Est-ce un indice particulier ou beaucoup/tous les indizes ce fragement si mauvais? – CeOnSql

Répondre

0

Non, vous ne pouvez pas. SQL Server doit développer le fichier journal afin d'avoir suffisamment d'espace pour contenir la transaction pour l'opération de recréation d'index. L'ensemble de l'opération de reconstruction de l'index doit pouvoir s'intégrer dans le journal des transactions et il doit y rester jusqu'à ce que la commande soit mise en miroir par le partenaire, puis sauvegardée.

Ne modifiez pas le modèle de récupération, cela va casser votre chaîne de sauvegarde de journal.