Festlegen von Indexoptionen

Gilt für:yesSQL Server (alle unterstützten Versionen) YesAzure SQL-DatenbankYesAzure SQL Managed Instance

In diesem Thema wird beschrieben, wie Sie die Eigenschaften eines Indexes in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL ändern.

In diesem Artikel

Vorbereitungen

Einschränkungen

  • Die folgenden Optionen werden sofort auf den Index angewendet, indem die SET-Klausel in der ALTER INDEX-Anweisung verwendet wird: ALLOW_PAGE_LOCKS, ALLOW_ROW_LOCKS, OPTIMIZE_FOR_SEQUENTIAL_KEY, IGNORE_DUP_KEY und 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).

Sicherheit

Berechtigungen

Erfordert die ALTER-Berechtigung in der Tabelle oder Sicht.

Verwendung von SQL Server Management Studio

So ändern Sie die Eigenschaften eines Indexes im Tabellen-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.
  2. Klicken Sie auf das Pluszeichen, um den Ordner Tabellen zu erweitern.
  3. Klicken Sie mit der rechten Maustaste auf die Tabelle, in der Sie die Eigenschaften eines Indexes ändern möchten, und wählen Sie Entwurf aus.
  4. Klicken Sie im Menü Tabellen-Designer auf Indizes/Schlüssel.
  5. Wählen Sie den Index aus, den Sie ändern möchten. Seine Eigenschaften werden im Hauptraster angezeigt.
  6. Ändern Sie die Einstellungen beliebiger oder aller Eigenschaften, um den Index anzupassen.
  7. Klicken Sie auf Schließen.
  8. Klicken Sie im Menü Datei auf SaveTabellenname.

So ändern Sie die Eigenschaften eines Indexes in Objekt-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.
  2. Klicken Sie auf das Pluszeichen, um den Ordner Tabellen zu erweitern.
  3. Klicken Sie auf das Pluszeichen, um die Tabelle zu erweitern, in der Sie die Eigenschaften eines Indexes ändern möchten.
  4. Klicken Sie auf das Pluszeichen, um den Ordner Indizes zu erweitern.
  5. Klicken Sie mit der rechten Maustaste auf den Index, dessen Eigenschaften Sie ändern möchten, und wählen Sie Eigenschaftenaus.
  6. Wählen Sie unter Seite auswählendie Option Optionenaus.
  7. Ändern Sie die Einstellungen beliebiger oder aller Eigenschaften, um den Index anzupassen.
  8. Zum Hinzufügen, Entfernen oder Ändern der Position einer Indexspalte wählen Sie auf der Seite Allgemein im Dialogfeld Index Properties –Indexname (Indexeigenschaften – Indexname) aus. Weitere Informationen finden Sie unter Index Properties F1 Help.

Verwenden von Transact-SQL

So sehen Sie die Eigenschaften aller Indizes in einer Tabelle

Das folgende Beispiel zeigt die Eigenschaften aller Indizes in einer Tabelle in der AdventureWorks-Datenbank.

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')
;

So stellen Sie die Eigenschaften eines Indexes ein

Das folgende Beispiel legt die Eigenschaften von Indizes in der AdventureWorks-Datenbank fest.

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

Weitere Informationen finden Sie unter ALTER INDEX (Transact-SQL).