Modificare un indice

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure

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