Condividi tramite


Impostare le opzioni di indice

Questo argomento descrive come modificare le proprietà di un indice in SQL Server 2014 usando SQL Server Management Studio o Transact-SQL.

Contenuto dell'articolo

Prima di iniziare

Limitazioni e restrizioni

  • 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.

  • 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).

Sicurezza

Autorizzazioni

È richiesta l'autorizzazione ALTER per la tabella o la vista.

Utilizzo di SQL Server Management Studio

Per modificare le proprietà di un indice in Progettazione tabelle

  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.

  2. Fare clic sul segno più per espandere la cartella Tabelle .

  3. Fare clic con il pulsante destro del mouse sulla tabella in cui si vogliono modificare le proprietà di un indice e scegliere Progetta.

  4. Scegliere Indici/chiavi nel menu Progettazione tabelle.

  5. Selezionare l'indice che si desidera modificare. Le relative proprietà saranno visualizzate nella griglia principale.

  6. Modificare le impostazioni di tutte le proprietà per personalizzare l'indice.

  7. Fare clic su Close.

  8. Selezionare Salva table_name dal menuFile.

Per modificare le proprietà di un indice in Esplora oggetti

  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.

  2. Fare clic sul segno più per espandere la cartella Tabelle .

  3. Fare clic sul segno più per espandere la tabella nella quale modificare le proprietà di un indice.

  4. Fare clic sul segno più per espandere la cartella Indici .

  5. Fare clic con il pulsante destro del mouse sull'indice di cui si vogliono modificare le proprietà e scegliere Proprietà.

  6. In Selezione paginaselezionare Opzioni.

  7. Modificare le impostazioni di tutte le proprietà per personalizzare l'indice.

  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. Per altre informazioni, vedere Index Properties F1 Help

Utilizzo di Transact-SQL

Per visualizzare le proprietà di tutti gli indici in una tabella

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.

    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 indice

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra Standard fare clic su Nuova query.

  3. Copiare e incollare gli esempi seguenti nella finestra Query, quindi fare clic su Esegui.

    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).