Condividi tramite


Spazio su disco del log delle transazioni per le operazioni sugli indici

Le operazioni sugli indici su larga scala possono generare carichi di dati di grandi dimensioni che possono causare il riempimento rapido del log delle transazioni. Per assicurarsi che sia possibile eseguire il rollback dell'operazione sull'indice, il log delle transazioni non può essere troncato fino al completamento dell'operazione sull'indice; Tuttavia, è possibile eseguire il backup del log durante l'operazione sull'indice. Pertanto, il log delle transazioni deve disporre di spazio sufficiente per archiviare sia le transazioni dell'operazione sull'indice che le transazioni utente simultanee per la durata dell'operazione sull'indice. Questo vale sia per le operazioni offline che per le operazioni sugli indici online. Poiché non è possibile accedere alle tabelle sottostanti durante un'operazione sull'indice offline, potrebbero essere presenti poche transazioni utente e il log potrebbe non crescere più rapidamente. Le operazioni sugli indici online non impediscono attività utente simultanee, pertanto, le operazioni sugli indici online su larga scala combinate con transazioni utente simultanee significative possono causare una crescita continua del log delle transazioni senza un'opzione per troncare il log.

Consigli

Quando si eseguono operazioni sugli indici su larga scala, prendere in considerazione le raccomandazioni seguenti:

  1. Assicurarsi che il log delle transazioni sia stato sottoposto a backup e troncato prima di eseguire operazioni sugli indici su larga scala online e che il log disponga di spazio sufficiente per archiviare l'indice proiettato e le transazioni utente.

  2. È consigliabile impostare l'opzione SORT_IN_TEMPDB su ON per l'operazione sull'indice. In questo modo le transazioni di indice vengono separate dalle transazioni utente simultanee. Le transazioni di indice verranno archiviate nel log delle transazioni tempdb e le transazioni utente simultanee verranno archiviate nel log delle transazioni del database utente. Ciò consente il troncamento del log delle transazioni del database utente durante l'operazione sull'indice, se necessario. Inoltre, se il log tempdb non si trova nello stesso disco del log del database utente, i due log non sono in competizione per lo stesso spazio su disco.

    Annotazioni

    Verificare che il database tempdb e il log delle transazioni dispongano di spazio su disco sufficiente per gestire l'operazione sull'indice. Il log delle transazioni tempdb non può essere troncato fino al completamento dell'operazione sull'indice.

  3. Usare un modello di recupero del database che consente la registrazione minima dell'operazione sull'indice. Ciò può ridurre le dimensioni del log e impedire al log di occupare tutto lo spazio disponibile.

  4. Non eseguire l'indicizzazione online all'interno di una transazione esplicita. Il log non verrà troncato fino al termine della transazione esplicita.

Requisiti di spazio su disco per operazioni DDL sugli indici

Esempio di spazio su disco indice