Ändern eines Indexes

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

In diesem Artikel wird beschrieben, wie ein Index in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL geändert wird.

Wichtig

Indizes, die als Ergebnis einer PRIMARY KEY- oder UNIQUE-Einschränkung erstellt wurden, können mit dieser Methode nicht geändert werden. In diesem Fall muss die Einschränkung geändert werden.

In diesem Thema

Verwendung von SQL Server Management Studio

So ändern Sie einen Index

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von SQL Server-Datenbank-Engine her, und erweitern Sie dann diese Instanz.

  2. Erweitern Sie Datenbankenund dann die Datenbank, zu der die Tabelle gehört, und klicken Sie anschließend auf Tabellen.

  3. Erweitern Sie die Tabelle, in die der Index gehört, und erweitern Sie dann Indizes.

  4. Klicken Sie mit der rechten Maustaste auf den Index, den Sie ändern möchten, und klicken Sie dann auf Eigenschaften.

  5. Nehmen Sie im Dialogfeld Indexeigenschaften die gewünschten Änderungen vor. Sie können z. B. eine Spalte im Indexschlüssel hinzufügen oder entfernen oder die Einstellung einer Indexoption ändern.

So ändern Sie Indexspalten

  1. Wenn Sie die Position einer Indexspalte hinzufügen, entfernen oder ändern möchten, wählen Sie im Dialogfeld Indexeigenschaften die Seite Allgemein aus.

Verwenden von Transact-SQL

So ändern Sie einen Index

Im folgenden Beispiel wird ein vorhandener Index für die ProductID-Spalte der Production.WorkOrder-Tabelle in der AdventureWorks-Datenbank mithilfe der Option DROP_EXISTING gelöscht und neu erstellt. Die Optionen FILLFACTOR und PAD_INDEX sind ebenfalls festgelegt.

CREATE NONCLUSTERED INDEX IX_WorkOrder_ProductID
    ON Production.WorkOrder(ProductID)
    WITH (FILLFACTOR = 80,
        PAD_INDEX = ON,
        DROP_EXISTING = ON)
;

Im folgenden Beispiel werden mithilfe von ALTER INDEX mehrere Optionen für den AK_SalesOrderHeader_SalesOrderNumber-Index festgelegt.

ALTER INDEX AK_SalesOrderHeader_SalesOrderNumber ON
    Sales.SalesOrderHeader
SET (
    STATISTICS_NORECOMPUTE = ON,
    IGNORE_DUP_KEY = ON,
    ALLOW_PAGE_LOCKS = ON
    )
;

So ändern Sie Indexspalten

  1. Wenn Sie die Position einer Indexspalte hinzufügen, entfernen oder ändern möchten, müssen Sie den Index löschen und neu erstellen.

Weitere Informationen

CREATE INDEX (Transact-SQL)
ALTER INDEX (Transact-SQL)
INDEXPROPERTY (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)
Festlegen von Indexoptionen
Umbenennen von Indizes