Festlegen von Indexoptionen
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance SQL-Datenbank in Microsoft Fabric
In diesem Artikel wird beschrieben, wie die Eigenschaften eines Indexes in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL geändert werden.
In diesem Artikel
Vorbereitungen:
So ändern Sie die Eigenschaften eines Indexes mithilfe von:
Vorbereitungen
Einschränkungen
- 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, 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
- 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.
- Klicken Sie auf das Pluszeichen, um den Ordner Tabellen zu erweitern.
- 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.
- Klicken Sie im Menü Tabellen-Designer auf Indizes/Schlüssel.
- Wählen Sie den Index aus, den Sie ändern möchten. Seine Eigenschaften werden im Hauptraster angezeigt.
- Ändern Sie die Einstellungen beliebiger oder aller Eigenschaften, um den Index anzupassen.
- Klicken Sie auf Schließen.
- Klicken Sie im Menü Datei auf SaveTabellenname.
So ändern Sie die Eigenschaften eines Indexes in Objekt-Explorer
- 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.
- Klicken Sie auf das Pluszeichen, um den Ordner Tabellen zu erweitern.
- Klicken Sie auf das Pluszeichen, um die Tabelle zu erweitern, in der Sie die Eigenschaften eines Indexes ändern möchten.
- Klicken Sie auf das Pluszeichen, um den Ordner Indizes zu erweitern.
- Klicken Sie mit der rechten Maustaste auf den Index, dessen Eigenschaften Sie ändern möchten, und wählen Sie Eigenschaftenaus.
- Wählen Sie unter Seite auswählendie Option Optionenaus.
- Ändern Sie die Einstellungen beliebiger oder aller Eigenschaften, um den Index anzupassen.
- 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).