Condividi tramite


Modificare un indice

Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure database SQL in Microsoft Fabric

Questo argomento descrive come modificare un indice in SQL Server usando SQL Server Management Studio o Transact-SQL.

Importante

Gli indici creati come risultato di un vincolo PRIMARY KEY o UNIQUE non possono essere modificati con questo metodo. È necessario invece modificare il vincolo.

Contenuto dell'articolo

Utilizzo di SQL Server Management Studio

Per modificare un indice

  1. In Esplora oggetticonnettersi a un'istanza del motore di database di SQL Server e, successivamente, espanderla.

  2. Espandere Database, espandere il database a cui appartiene la tabella e quindi espandere Tabelle.

  3. Espandere la tabella a cui appartiene l'indice e quindi espandere Indici.

  4. Fare clic con il pulsante destro del mouse sull'indice da modificare l'indice e scegliere Proprietà.

  5. Nella finestra di dialogo Proprietà indice apportare le modifiche desiderate. È ad esempio possibile aggiungere o rimuovere una colonna dalla chiave di indice o modificare l'impostazione di un'opzione di indice.

Per modificare le colonne indice

  1. Per aggiungere, rimuovere o modificare la posizione di una colonna indice, selezionare la pagina Generale della finestra di dialogo Proprietà indice .

Utilizzo di Transact-SQL

Per modificare un indice

Nell'esempio seguente viene eliminato e ricreato un indice esistente nella colonna ProductID della tabella Production.WorkOrder nel database AdventureWorks usando l'opzione DROP_EXISTING. Vengono inoltre impostate le opzioni FILLFACTOR e PAD_INDEX .

CREATE NONCLUSTERED INDEX IX_WorkOrder_ProductID
    ON Production.WorkOrder(ProductID)
    WITH (FILLFACTOR = 80,
        PAD_INDEX = ON,
        DROP_EXISTING = ON)
;

Nell'esempio seguente viene usato ALTER INDEX per impostare diverse opzioni sull'indice AK_SalesOrderHeader_SalesOrderNumber.

ALTER INDEX AK_SalesOrderHeader_SalesOrderNumber ON
    Sales.SalesOrderHeader
SET (
    STATISTICS_NORECOMPUTE = ON,
    IGNORE_DUP_KEY = ON,
    ALLOW_PAGE_LOCKS = ON
    )
;

Per modificare le colonne indice

  1. Per aggiungere, rimuovere o modificare la posizione di una colonna dell'indice, è necessario eliminare e ricreare l'indice.

Vedi anche

CREATE INDEX (Transact-SQL)
ALTER INDEX (Transact-SQL)
INDEXPROPERTY (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)
Impostare le opzioni di indice
Rinominare indici