Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de données SQL dans Microsoft Fabric
Les opérations d'index à grande échelle peuvent générer des chargements de données volumineux susceptibles de saturer le journal des transactions rapidement. 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 posséder suffisamment de place pour stocker les transactions de l'opération d'index et toutes les transactions utilisateur concurrentes qui interviennent pendant celle-ci.
Cela concerne à la fois les opérations d'index hors ligne et les opérations d'index 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 :
Vérifiez que le journal des transactions est 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.
Envisagez de régler l’option
SORT_IN_TEMPDBsurONpour l’opération d’indexation. Cela permet de séparer les transactions d'index des transactions utilisateur concurrentes. Les transactions d’index sont stockées dans letempdbjournal des transactions 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 letempdbjournal 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 et le
tempdbjournal des transactions disposent d’un espace disque suffisant pour gérer l’opération d’index. Letempdbjournal des transactions ne peut pas être tronqué tant que l’opération d’index n’est pas terminée.Utilisez un mode 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 de bord et empêcher le journal de bord de saturer l'espace de journalisation.
N’exécutez pas l’opération d’index en ligne dans une transaction explicite. Le journal n’est pas tronqué tant que la transaction explicite n’est pas terminée.