Condividi tramite


Modificare un indice

Questo argomento descrive come modificare un indice in SQL Server 2014 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

Uso di SQL Server Management Studio

Per modificare un indice

  1. In Esplora oggetti, connettersi a un'istanza del motore di database di SQL Server ed 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 .

Uso di Transact-SQL

Per modificare un indice

  1. Connettersi al motore di database.

  2. Dalla barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui. In questo esempio viene eliminato e ricreato un indice esistente sulla colonna ProductID della tabella Production.WorkOrder tramite l'opzione DROP_EXISTING . Vengono inoltre impostate le opzioni FILLFACTOR e PAD_INDEX .

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

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

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

Per modificare le colonne indice

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

Vedere 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
Ridenominazione di indici