Modificare un indiceModify an Index

QUESTO ARGOMENTO SI APPLICA A: sìSQL Server (a partire dalla versione 2016)sìDatabase SQL di AzurenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

In questo argomento viene descritto come modificare un indice in SQL Server 2017SQL Server 2017 usando SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to modify an index in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

Importante

Gli indici creati come risultato di un vincolo PRIMARY KEY o UNIQUE non possono essere modificati con questo metodo.Indexes created as the result of a PRIMARY KEY or UNIQUE constraint cannot be modified by using this method. È necessario invece modificare il vincolo.Instead, the constraint must be modified.

Contenuto dell'argomentoIn This Topic

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per modificare un indiceTo modify an index

  1. In Esplora oggetti connettersi a un'istanza del Motore di database di SQL ServerSQL Server Database Engine , quindi espandere questa istanza.In Object Explorer, connect to an instance of the Motore di database di SQL ServerSQL Server Database Engine and then expand that instance.

  2. Espandere Database, espandere il database a cui appartiene la tabella e quindi espandere Tabelle.Expand Databases, expand the database in which the table belongs, and then expand Tables.

  3. Espandere la tabella a cui appartiene l'indice e quindi espandere Indici.Expand the table in which the index belongs and then expand Indexes.

  4. Fare clic con il pulsante destro del mouse sull'indice da modificare l'indice e scegliere Proprietà.Right-click the index that you want to modify and then click Properties.

  5. Nella finestra di dialogo Proprietà indice apportare le modifiche desiderate.In the Index Properties dialog box, make the desired changes. È ad esempio possibile aggiungere o rimuovere una colonna dalla chiave di indice o modificare l'impostazione di un'opzione di indice.For example, you can add or remove a column from the index key, or change the setting of an index option.

Per modificare le colonne indiceTo modify index columns

  1. Per aggiungere, rimuovere o modificare la posizione di una colonna indice, selezionare la pagina Generale della finestra di dialogo Proprietà indice .To add, remove, or change the position of an index column, select the General page from the Index Properties dialog box.

Utilizzo di Transact-SQL Using Transact-SQL

Per modificare un indiceTo modify an index

  1. Connettersi al Motore di databaseDatabase Engine.Connect to the Motore di databaseDatabase Engine.

  2. Dalla barra Standard fare clic su Nuova query.From the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute. In questo esempio viene eliminato e ricreato un indice esistente sulla colonna ProductID della tabella Production.WorkOrder tramite l'opzione DROP_EXISTING .This example drops and re-creates an existing index on the ProductID column of the Production.WorkOrder table by using the DROP_EXISTING option. Vengono inoltre impostate le opzioni FILLFACTOR e PAD_INDEX .The options FILLFACTOR and PAD_INDEX are also set.

    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.The following example uses ALTER INDEX to set several options on the index 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 indiceTo modify index columns

  1. Per aggiungere, rimuovere o modificare la posizione di una colonna dell'indice, è necessario eliminare e ricreare l'indice.To add, remove, or change the position of an index column, you must drop and recreate the index.

Vedere ancheSee Also

CREATE INDEX (Transact-SQL) CREATE INDEX (Transact-SQL)
ALTER INDEX (Transact-SQL) ALTER INDEX (Transact-SQL)
INDEXPROPERTY (Transact-SQL) INDEXPROPERTY (Transact-SQL)
sys.indexes (Transact-SQL) sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL) sys.index_columns (Transact-SQL)
Impostare le opzioni di indice Set Index Options
Ridenominazione di indici Rename Indexes