Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Azure SQL Database
Azure SQL Istanza gestita
Database SQL in Microsoft Fabric
Le operazioni sugli indici su larga scala possono generare carichi di dati di grandi dimensioni che possono causare un rapido riempimento 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. Nel log delle transazioni deve pertanto esserci spazio sufficiente per archiviare sia le transazioni dell'operazione sull'indice che eventuali transazioni utente simultanee per la durata dell'operazione sull'indice.
Questo è valido sia per le operazioni sugli indici online che non offline. Poiché non è possibile accedere alle tabelle sottostanti durante un'operazione sull'indice offline, potrebbero esserci 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, considerare i consigli seguenti:
Assicurarsi che il log delle transazioni venga 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.
Valutare la possibilità di impostare l'opzione
SORT_IN_TEMPDBsuONper l'operazione sull'indice. In questo modo, è possibile separare le transazioni di indice dalle transazioni utente simultanee. Le transazioni di indice vengono archiviate neltempdblog delle transazioni e le transazioni utente simultanee vengono 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 iltempdblog non si trova nello stesso disco del log del database utente, i due log non sono in competizione per lo stesso spazio su disco.Nota
Verificare che il database e il log delle transazioni
tempdbdispongano di spazio su disco sufficiente per gestire l'operazione di indicizzazione. Iltempdblog delle transazioni non può essere troncato fino al completamento dell'operazione sull'indice.Utilizzare un modello di recupero del database che consenta la registrazione minima dell'operazione sull'indice. Ciò potrebbe ridurre le dimensioni del log e impedire al log di riempire lo spazio del log.
Non eseguire operazioni sull'indice online in una transazione esplicita. Il log non viene troncato fino al termine della transazione esplicita.