Festlegen von IndexoptionenSet Index Options

Dieses Thema gilt für: JaSQL ServerJaAzure SQL-DatenbankkeineAzure SQL Data Warehouse keine Parallel DatawarehouseTHIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

In diesem Thema wird beschrieben, wie die Eigenschaften eines Indexes in SQL Server 2017SQL Server 2017 mit SQL Server Management StudioSQL Server Management Studio oder Transact-SQLTransact-SQLgeändert werden.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.

In diesem ThemaIn This Topic

VorbereitungsmaßnahmenBefore You Begin

EinschränkungenLimitations and Restrictions

  • Die folgenden Optionen werden sofort mit der SET-Klausel in der ALTER INDEX-Anweisung für den Index übernommen: ALLOW_PAGE_LOCKS, ALLOW_ROW_LOCKS, IGNORE_DUP_KEY und STATISTICS_NORECOMPUTE.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.

  • Die folgenden Optionen können festgelegt werden, wenn Sie mit ALTER INDEX REBUILD oder CREATE INDEX WITH DROP_EXISTING einen Index neu erstellen: PAD_INDEX, FILLFACTOR, SORT_IN_TEMPDB, IGNORE_DUP_KEY, STATISTICS_NORECOMPUTE, ONLINE, ALLOW_ROW_LOCKS, ALLOW_PAGE_LOCKS, MAXDOP und DROP_EXISTING (nur 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).

SicherheitSecurity

BerechtigungenPermissions

Erfordert die ALTER-Berechtigung in der Tabelle oder Sicht.Requires ALTER permission on the table or view.

Verwendung von SQL Server Management StudioUsing SQL Server Management Studio

So ändern Sie die Eigenschaften eines Indexes im Tabellen-DesignerTo modify the properties of an index in Table Designer

  1. Klicken Sie im Objekt-Explorer auf das Pluszeichen, um die Datenbank mit der Tabelle zu erweitern, in der Sie die Eigenschaften eines Indexes ändern möchten.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. Klicken Sie auf das Pluszeichen, um den Ordner Tabellen zu erweitern.Click the plus sign to expand the Tables folder.

  3. Klicken Sie mit der rechten Maustaste auf die Tabelle, in der Sie die Eigenschaften eines Indexes ändern möchten, und wählen Sie Entwurfaus.Right-click the table on which you want to modify an index’s properties and select Design.

  4. Klicken Sie im Menü Tabellen-Designer auf Indizes/Schlüssel.On the Table Designer menu, click Indexes/Keys.

  5. Wählen Sie den Index aus, den Sie ändern möchten.Select the index that you want to modify. Seine Eigenschaften werden im Hauptraster angezeigt.Its properties will show up in the main grid.

  6. Ändern Sie die Einstellungen beliebiger oder aller Eigenschaften, um den Index anzupassen.Change the settings of any and all properties to customize the index.

  7. Klicken Sie auf Schließen.Click Close.

  8. Klicken Sie im Menü Datei auf SpeichernTabellenname.On the File menu, select Savetable_name.

So ändern Sie die Eigenschaften eines Indexes in Objekt-ExplorerTo modify the properties of an index in Object Explorer

  1. Klicken Sie im Objekt-Explorer auf das Pluszeichen, um die Datenbank mit der Tabelle zu erweitern, in der Sie die Eigenschaften eines Indexes ändern möchten.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. Klicken Sie auf das Pluszeichen, um den Ordner Tabellen zu erweitern.Click the plus sign to expand the Tables folder.

  3. Klicken Sie auf das Pluszeichen, um die Tabelle zu erweitern, in der Sie die Eigenschaften eines Indexes ändern möchten.Click the plus sign to expand the table on which you want to modify an index’s properties.

  4. Klicken Sie auf das Pluszeichen, um den Ordner Indizes zu erweitern.Click the plus sign to expand the Indexes folder.

  5. Klicken Sie mit der rechten Maustaste auf den Index, dessen Eigenschaften Sie ändern möchten, und wählen Sie Eigenschaftenaus.Right-click the index of which you want to modify the properties and select Properties.

  6. Wählen Sie unter Seite auswählendie Option Optionenaus.Under Select a page, select Options.

  7. Ändern Sie die Einstellungen beliebiger oder aller Eigenschaften, um den Index anzupassen.Change the settings of any and all properties to customize the index.

  8. Zum Hinzufügen, Entfernen oder Ändern der Position einer Indexspalte wählen Sie im Dialogfeld Indexeigenschaften – Allgemein Allgemein aus.To add, remove, or change the position of an index column, select the General page from the Index Properties - index_name dialog box. Weitere Informationen finden Sie unter Index Properties F1 Help.For more information, see Index Properties F1 Help

Verwenden von Transact-SQLUsing Transact-SQL

So sehen Sie die Eigenschaften aller Indizes in einer TabelleTo see the properties of all the indexes in a table

  1. Stellen Sie im Objekt-Explorereine Verbindung mit einer DatenbankmodulDatabase Engine-Instanz her.In Object Explorer, connect to an instance of DatenbankmodulDatabase Engine.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.On the Standard bar, click New Query.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.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  
    

So stellen Sie die Eigenschaften eines Indexes einTo set the properties of an index

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer DatenbankmodulDatabase Engine-Instanz her.In Object Explorer, connect to an instance of DatenbankmodulDatabase Engine.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.On the Standard bar, click New Query.

  3. Kopieren Sie die folgenden Beispiele, fügen Sie sie in das Abfragefenster ein, und klicken Sie auf Ausführen.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
    

    Weitere Informationen finden Sie unter ALTER INDEX (Transact-SQL).For more information, see ALTER INDEX (Transact-SQL).