Impostare le opzioni di indice

In questo argomento si illustra come modificare le proprietà di un indice in SQL Server 2012 utilizzando SQL Server Management Studio o Transact-SQL.

Contenuto dell'argomento

  • Prima di iniziare:

    Limitazioni e restrizioni

    Sicurezza

  • Per modificare le proprietà di un indice utilizzando:

    SQL Server Management Studio

    Transact-SQL

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.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

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 nella quale modificare le proprietà di un indice e selezionare 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. Scegliere Chiudi.

  8. Nel menu File selezionare Salva table_name.

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 modificare le proprietà e scegliere Proprietà.

  6. In Selezione pagina selezionare 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 - index_name. Per ulteriori informazioni, vedere Guida sensibile al contesto di Proprietà indice

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

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 ulteriori informazioni, vedere ALTER INDEX (Transact-SQL).

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]