Eliminare un indiceDelete 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 si descrive come eliminare (rimuovere) un indice in SQL Server 2017SQL Server 2017 utilizzando SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to delete (drop) an index in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

Contenuto dell'argomentoIn This Topic

Prima di iniziareBefore You Begin

Limitazioni e restrizioniLimitations and Restrictions

Gli indici creati come risultato di un vincolo PRIMARY KEY o UNIQUE non possono essere eliminati mediante questa procedura.Indexes created as the result of a PRIMARY KEY or UNIQUE constraint cannot be deleted by using this method. È infatti necessario eliminare il vincolo.Instead, the constraint must be deleted. Per rimuovere il vincolo e l'indice corrispondente, utilizzare ALTER TABLE con la clausola DROP CONSTRAINT in Transact-SQLTransact-SQL.To remove the constraint and corresponding index, use ALTER TABLE with the DROP CONSTRAINT clause in Transact-SQLTransact-SQL. Per altre informazioni, vedere Delete Primary Keys.For more information, see Delete Primary Keys.

SicurezzaSecurity

AutorizzazioniPermissions

È richiesta l'autorizzazione ALTER per la tabella o la vista.Requires ALTER permission on the table or view. Questa autorizzazione viene concessa per impostazione predefinita al ruolo predefinito del server sysadmin e ai ruoli predefiniti del database db_ddladmin e db_owner .This permission is granted by default to the sysadmin fixed server role and the db_ddladmin and db_owner fixed database roles.

Utilizzo di SQL Server Management StudioUsing SQL Server Management Studio

Per eliminare un indice utilizzando Esplora oggettiTo delete an index by using Object Explorer

  1. In Esplora oggetti espandere il database contenente la tabella in cui si desidera eliminare un indice.In Object Explorer, expand the database that contains the table on which you want to delete an index.

  2. Espandere la cartella Tabelle .Expand the Tables folder.

  3. Espandere la tabella contenente l'indice che si desidera eliminare.Expand the table that contains the index you want to delete.

  4. Espandere la cartella Indici .Expand the Indexes folder.

  5. Fare clic con il pulsante destro del mouse sull'indice che si desidera eliminare e scegliere Elimina.Right-click the index you want to delete and select Delete.

  6. Nella finestra di dialogo Elimina oggetto verificare che nella griglia Oggetto da eliminare sia presente l'indice corretto e fare clic su OK.In the Delete Object dialog box, verify that the correct index is in the Object to be deleted grid and click OK.

Per eliminare un indice utilizzando Progettazione tabelle.To delete an index using Table Designer

  1. In Esplora oggetti espandere il database contenente la tabella in cui si desidera eliminare un indice.In Object Explorer, expand the database that contains the table on which you want to delete an index.

  2. Espandere la cartella Tabelle .Expand the Tables folder.

  3. Fare clic con il pulsante destro del mouse sulla tabella contenente l'indice da eliminare e scegliere Progetta.Right-click the table that contains the index you want to delete and click Design.

  4. Scegliere Indici/chiavi nel menu Progettazione tabelle.On the Table Designer menu, click Indexes/Keys.

  5. Nella finestra di dialogo Indici/chiavi selezionare l'indice da eliminare.In the Indexes/Keys dialog box, select the index you want to delete.

  6. Fare clic su Elimina.Click Delete.

  7. Scegliere Chiudi.Click Close.

  8. Nel menu File selezionare Salvanome_tabella.On the File menu, select Savetable_name.

Utilizzo di Transact-SQLUsing Transact-SQL

Per eliminare un indiceTo delete an index

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On 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.

    USE AdventureWorks2012;  
    GO  
    -- delete the IX_ProductVendor_BusinessEntityID index  
    -- from the Purchasing.ProductVendor table  
    DROP INDEX IX_ProductVendor_BusinessEntityID   
        ON Purchasing.ProductVendor;  
    GO  
    

    Per altre informazioni, vedere DROP INDEX (Transact-SQL).For more information, see DROP INDEX (Transact-SQL).