Ricompila indice - attivitàRebuild Index Task

L'attività Ricompila indice consente di ricompilare indici nelle tabelle e nelle viste dei database di SQL ServerSQL Server .The Rebuild Index task rebuilds indexes in SQL ServerSQL Server database tables and views. Per altre informazioni sulla frammentazione degli indici, vedere Riorganizzare e ricompilare gli indici.For more information about managing indexes, see Reorganize and Rebuild Indexes.

Tramite l'attività Ricompila indice un pacchetto può ricompilare gli indici in uno o più database.By using the Rebuild Index task, a package can rebuild indexes in a single database or multiple databases. Se si utilizza l'attività per ricompilare gli indici di un singolo database, sarà possibile scegliere le viste e le tabelle di cui ricompilare gli indici.If the task rebuilds only the indexes in a single database, you can choose the views and tables whose indexes the task rebuilds.

L'attività incapsula un'istruzione ALTER INDEX REBUILD con le opzioni di ricompilazione degli indici seguenti:This task encapsulates an ALTER INDEX REBUILD statement with the following index rebuild options:

  • Per l'opzione FILLFACTOR è possibile specificare un valore percentuale o utilizzare il valore originale.Specify a FILLFACTOR percentage or use the original FILLFACTOR amount.

  • Impostare SORT_IN_TEMPDB = ON per archiviare in tempdb i risultati intermedi dell'ordinamento utilizzati per la ricompilazione dell'indice.Set SORT_IN_TEMPDB = ON to store the intermediate sort result used to rebuild the index in tempdb. Quando l'opzione relativa al risultato intermedio dell'ordinamento è impostata su OFF, il risultato viene archiviato nello stesso database dell'indice.When the intermediate sort result is set to OFF, the result is stored in the same database as the index.

  • Impostare PAD_INDEX = ON per allocare alle pagine di livello intermedio dell'indice lo spazio disponibile specificato dall'opzione FILLFACTOR.Set PAD_INDEX = ON to allocate the free space specified by FILLFACTOR to the intermediate-level pages of the index.

  • Impostare IGNORE_DUP_KEY = ON per consentire alle operazioni di inserimento di più righe che includono record che violano i vincoli UNIQUE di inserire i record che non violano tali vincoli.Set IGNORE_DUP_KEY = ON to allow a multirow insert operation that includes records that violate unique constraints to insert the records that do not violate the unique constraints.

  • Impostare ONLINE = ON per non mantenere i blocchi di tabella in modo da consentire l'esecuzione di aggiornamenti o query sulla tabella sottostante durante la ricostruzione dell'indice.Set ONLINE = ON to not hold table locks so that queries or updates to the underlying table can proceed during re-indexing.

    Nota

    Le operazioni sugli indici online sono disponibili solo in alcune edizioni di MicrosoftMicrosoft SQL ServerSQL Server.Online index operations are not available in every edition of MicrosoftMicrosoft SQL ServerSQL Server. Per un elenco delle funzionalità supportate dalle edizioni di SQL ServerSQL Server, vedere Funzionalità supportate dalle edizioni di SQL Server 2016.For a list of features that are supported by the editions of SQL ServerSQL Server, see Features Supported by the Editions of SQL Server 2016.

  • Specificare un valore per MAXDOP per limitare il numero di processori usati durante l'esecuzione di piani paralleli.Specify a value for MAXDOP to limit the number of processors used in a parallel plan execution.

  • Specificare WAIT_AT_LOW_PRIORITY, MAX_DURATION e ABORT_AFTER_WAIT per controllare il tempo di attesa dell'operazione sull'indice per i blocchi a bassa priorità.Specify WAIT_AT_LOW_PRIORITY, MAX_DURATION, and ABORT_AFTER_WAIT to control how long the index operation waits for low priority locks.

    Per altre informazioni sull'istruzione ALTER INDEX e sulle opzioni di ricompilazione dell'indice, vedere ALTER INDEX (Transact-SQL).For more information about the ALTER INDEX statement and index rebuild options, see ALTER INDEX (Transact-SQL).

Importante

Il tempo richiesto dall'attività per creare l'istruzione Transact-SQLTransact-SQL da eseguire è proporzionale al numero degli indici da ricompilare.The time the task takes to create the Transact-SQLTransact-SQL statement that the task runs is proportionate to the number of indexes the task rebuilds. Se l'attività è configurata per la ricompilazione degli indici in tutte le tabelle e le viste di un database con un numero elevato di indici oppure per la ricompilazione degli indici in più database, la generazione dell'istruzione Transact-SQL potrebbe richiedere una quantità di tempo considerevole.If the task is configured to rebuild indexes in all the tables and views in a database with a large number of indexes, or to rebuild indexes in multiple databases, the task can take a considerable amount of time to generate the Transact-SQL statement.

Configurazione dell'attività Ricompila indiceConfiguration of the Rebuild Index Task

È possibile impostare le proprietà tramite Progettazione SSISSSIS .You can set properties through SSISSSIS Designer. Questa attività è disponibile nella sezione Attività di manutenzione della casella degli strumenti **** di Progettazione SSISSSIS .This task is in the Maintenance Plan Tasks section of the Toolbox in SSISSSIS Designer.

Per ulteriori informazioni sulle proprietà che è possibile impostare in Progettazione SSISSSIS , fare clic sull'argomento seguente:For more information about the properties that you can set in SSISSSIS Designer, click the following topic:

Attività Ricompila indice (Piano di manutenzione)Rebuild Index Task (Maintenance Plan)

Per altre informazioni su come impostare queste proprietà nella finestra di Progettazione SSISSSIS , vedere Impostazione delle proprietà di un'attività o di un contenitore.For more about how to set these properties in SSISSSIS Designer, see Set the Properties of a Task or Container.

Vedere ancheSee Also

Attività di Integration Services Integration Services Tasks
Flusso di controlloControl Flow