Condividi tramite


Modificare un indice

In questo argomento viene descritto come modificare un indice in SQL Server 2012 utilizzando SQL Server Management Studio o Transact-SQL.

Nota importanteImportante

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'argomento

  • Per modificare un indice utilizzando:

    SQL Server Management Studio

    Transact-SQL

Utilizzo di SQL Server Management Studio

Per modificare un indice

  1. In Esplora oggetti connettersi a un'istanza del Motore di database di SQL Server, quindi espandere questa istanza.

  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

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

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Utilizzo 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 scegliere 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 utilizzato 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

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

Vedere anche

Riferimento

CREATE INDEX (Transact-SQL)

ALTER INDEX (Transact-SQL)

INDEXPROPERTY (Transact-SQL)

sys.indexes (Transact-SQL)

sys.index_columns (Transact-SQL)

Concetti

Impostare le opzioni di indice

Ridenominazione di indici