Partager via


Espace disque pour le journal des transactions relatif aux opérations d'index

Les opérations d’index à grande échelle peuvent générer des charges de données volumineuses qui peuvent entraîner le remplissage rapide du journal des transactions. Pour vous assurer que l’opération d’index peut être restaurée, le journal des transactions ne peut pas être tronqué tant que l’opération d’index n’est pas terminée ; toutefois, le journal peut être sauvegardé pendant l’opération d’index. Par conséquent, le journal des transactions doit avoir suffisamment de place pour stocker les transactions d’opération d’index et toutes les transactions utilisateur simultanées pendant la durée de l’opération d’index. Cela est vrai pour les opérations d’index hors connexion et en ligne. Étant donné que les tables sous-jacentes ne sont pas accessibles pendant une opération d’index hors connexion, il peut y avoir peu de transactions utilisateur et le journal peut ne pas croître aussi rapidement. Les opérations d’index en ligne n’empêchent pas l’activité utilisateur simultanée, par conséquent, les opérations d’index en ligne à grande échelle combinées avec des transactions utilisateur simultanées importantes peuvent entraîner une croissance continue du journal des transactions sans option pour tronquer le journal.

Recommandations

Lorsque vous exécutez des opérations d’index à grande échelle, tenez compte des recommandations suivantes :

  1. Vérifiez que le journal des transactions a été sauvegardé et tronqué avant d’exécuter des opérations d’index à grande échelle en ligne, et que le journal dispose d’un espace suffisant pour stocker l’index projeté et les transactions utilisateur.

  2. Envisagez de définir l’option SORT_IN_TEMPDB sur ON pour l’opération d’index. Cela sépare les transactions d’index des transactions utilisateur simultanées. Les transactions d’index sont stockées dans le journal des transactions tempdb , et les transactions utilisateur simultanées sont stockées dans le journal des transactions de la base de données utilisateur. Cela permet de tronquer le journal des transactions de la base de données utilisateur pendant l’opération d’index si nécessaire. En outre, si le journal tempdb ne se trouve pas sur le même disque que le journal de base de données utilisateur, les deux journaux ne sont pas concurrents pour le même espace disque.

    Remarque

    Vérifiez que la base de données tempdb et le journal des transactions disposent d’un espace disque suffisant pour gérer l’opération d’index. Le journal des transactions tempdb ne peut pas être tronqué tant que l’opération d’index n’est pas terminée.

  3. Utilisez un modèle de récupération de base de données qui permet une journalisation minimale de l’opération d’index. Cela peut réduire la taille du journal et empêcher le journal de remplir l'espace réservé au journal.

  4. N’exécutez pas l’opération d’indexation en ligne dans une transaction explicite. Le journal ne sera pas tronqué tant que la transaction explicite ne sera pas terminée.

Configurations requises d'espace disque pour les opérations DDL d'index

Exemple d’espace disque d’index