Impostare le opzioni di indiceSet Index Options

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 illustra come modificare le proprietà di 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 modify the properties of 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 iniziare Before You Begin

Limitazioni e restrizioni Limitations and Restrictions

  • Le opzioni ALLOW_PAGE_LOCKS, ALLOW_ROW_LOCKS, IGNORE_DUP_KEY e STATISTICS_NORECOMPUTE vengono applicate immediatamente all'indice tramite la clausola SET nell'istruzione ALTER INDEX.The following options are immediately applied to the index by using the SET clause in the ALTER INDEX statement: ALLOW_PAGE_LOCKS, ALLOW_ROW_LOCKS, IGNORE_DUP_KEY, and STATISTICS_NORECOMPUTE.

  • Durante la ricompilazione di un indice tramite ALTER INDEX REBUILD o CREATE INDEX WITH DROP_EXISTING, è possibile impostare le opzioni PAD_INDEX, FILLFACTOR, SORT_IN_TEMPDB, IGNORE_DUP_KEY, STATISTICS_NORECOMPUTE, ONLINE, ALLOW_ROW_LOCKS, ALLOW_PAGE_LOCKS, MAXDOP e DROP_EXISTING (solo CREATE INDEX).The following options can be set when you rebuild an index by using either ALTER INDEX REBUILD or CREATE INDEX WITH DROP_EXISTING: PAD_INDEX, FILLFACTOR, SORT_IN_TEMPDB, IGNORE_DUP_KEY, STATISTICS_NORECOMPUTE, ONLINE, ALLOW_ROW_LOCKS, ALLOW_PAGE_LOCKS, MAXDOP, and DROP_EXISTING (CREATE INDEX only).

Sicurezza Security

Autorizzazioni Permissions

È richiesta l'autorizzazione ALTER per la tabella o la vista.Requires ALTER permission on the table or view.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per modificare le proprietà di un indice in Progettazione tabelleTo modify the properties of an index in Table Designer

  1. In Esplora oggetti fare clic sul segno più per espandere il database contenente la tabella in cui si desidera modificare le proprietà di un indice.In Object Explorer, click the plus sign to expand the database that contains the table on which you want to modify an index’s properties.

  2. Fare clic sul segno più per espandere la cartella Tabelle .Click the plus sign to expand the Tables folder.

  3. Fare clic con il pulsante destro del mouse sulla tabella in cui si vogliono modificare le proprietà di un indice e scegliere Progetta.Right-click the table on which you want to modify an index’s properties and select Design.

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

  5. Selezionare l'indice che si desidera modificare.Select the index that you want to modify. Le relative proprietà saranno visualizzate nella griglia principale.Its properties will show up in the main grid.

  6. Modificare le impostazioni di tutte le proprietà per personalizzare l'indice.Change the settings of any and all properties to customize the index.

  7. Scegliere Chiudi.Click Close.

  8. Scegliere Salva nome_tabella dal menuFile.On the File menu, select Savetable_name.

Per modificare le proprietà di un indice in Esplora oggettiTo modify the properties of an index in Object Explorer

  1. In Esplora oggetti fare clic sul segno più per espandere il database contenente la tabella in cui si desidera modificare le proprietà di un indice.In Object Explorer, click the plus sign to expand the database that contains the table on which you want to modify an index’s properties.

  2. Fare clic sul segno più per espandere la cartella Tabelle .Click the plus sign to expand the Tables folder.

  3. Fare clic sul segno più per espandere la tabella nella quale modificare le proprietà di un indice.Click the plus sign to expand the table on which you want to modify an index’s properties.

  4. Fare clic sul segno più per espandere la cartella Indici .Click the plus sign to expand the Indexes folder.

  5. Fare clic con il pulsante destro del mouse sull'indice di cui si vogliono modificare le proprietà e scegliere Proprietà.Right-click the index of which you want to modify the properties and select Properties.

  6. In Selezione paginaselezionare Opzioni.Under Select a page, select Options.

  7. Modificare le impostazioni di tutte le proprietà per personalizzare l'indice.Change the settings of any and all properties to customize the index.

  8. Per aggiungere, rimuovere o modificare la posizione di una colonna dell'indice, selezionare la pagina Generale della finestra di dialogo Proprietà indice - nome_indice .To add, remove, or change the position of an index column, select the General page from the Index Properties - index_name dialog box. Per altre informazioni, vedere Index Properties F1 HelpFor more information, see Index Properties F1 Help

Utilizzo di Transact-SQL Using Transact-SQL

Per visualizzare le proprietà di tutti gli indici in una tabellaTo see the properties of all the indexes in a table

  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  
    SELECT i.name AS index_name,   
        i.type_desc,   
        i.is_unique,   
        ds.type_desc AS filegroup_or_partition_scheme,   
        ds.name AS filegroup_or_partition_scheme_name,   
        i.ignore_dup_key,   
        i.is_primary_key,   
        i.is_unique_constraint,   
        i.fill_factor,   
        i.is_padded,   
        i.is_disabled,   
        i.allow_row_locks,   
        i.allow_page_locks,   
        i.has_filter,   
        i.filter_definition  
    FROM sys.indexes AS i  
       INNER JOIN sys.data_spaces AS ds ON i.data_space_id = ds.data_space_id  
    WHERE is_hypothetical = 0 AND i.index_id <> 0   
       AND i.object_id = OBJECT_ID('HumanResources.Employee');   
    GO  
    

Per visualizzare le proprietà di un indiceTo set the properties of 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 gli esempi seguenti nella finestra Query, quindi fare clic su Esegui.Copy and paste the following examples into the query window and click Execute.

    USE AdventureWorks2012;
    GO
    ALTER INDEX AK_SalesOrderHeader_SalesOrderNumber ON
        Sales.SalesOrderHeader
    SET (
        STATISTICS_NORECOMPUTE = ON,
        IGNORE_DUP_KEY = ON,
        ALLOW_PAGE_LOCKS = ON
        ) ;
    GO
    
    USE AdventureWorks2012;
    GO
    ALTER INDEX ALL ON Production.Product
    REBUILD WITH (FILLFACTOR = 80, SORT_IN_TEMPDB = ON,
                  STATISTICS_NORECOMPUTE = ON);
    GO
    

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