Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Azure SQL Database
Azure SQL Istanza gestita
Database SQL in Microsoft Fabric
Questo argomento descrive come modificare un indice in SQL Server usando SQL Server Management Studio o Transact-SQL.
Important
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
Per modificare un indice usando:
Utilizzo di SQL Server Management Studio
Per modificare un indice
In Esplora oggetticonnettersi a un'istanza del motore di database di SQL Server e, successivamente, espanderla.
Espandere Database, espandere il database a cui appartiene la tabella e quindi espandere Tabelle.
Espandere la tabella a cui appartiene l'indice e quindi espandere Indici.
Fare clic con il pulsante destro del mouse sull'indice che si desidera modificare e scegliere Proprietà.
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 di indice
- 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 di indice
- Per aggiungere, rimuovere o modificare la posizione di una colonna dell'indice, è necessario eliminare e ricreare l'indice.
Vedere anche
CREARE INDICE (Transact-SQL)
ALTER INDEX (Transact-SQL)
INDEXPROPERTY (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)
Impostare le opzioni di indice
Rinominare gli indici