Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Thema wird beschrieben, wie Sie einen deaktivierten Index in SQL Server 2014 mithilfe von SQL Server Management Studio oder Transact-SQL aktivieren. Nachdem ein Index deaktiviert wurde, verbleibt er in einem deaktivierten Zustand, bis er neu erstellt oder gelöscht wird.
In diesem Themenbereich
Bevor Sie beginnen:
So aktivieren Sie einen deaktivierten Index mit:
Bevor Sie beginnen
Einschränkungen und Beschränkungen
Nach der Neuerstellung des Indexes müssen alle Einschränkungen, die aufgrund der Deaktivierung des Indexes deaktiviert wurden, manuell aktiviert werden. PRIMARY KEY- und UNIQUE-Einschränkungen werden aktiviert, indem der zugeordnete Index neu erstellt wird. Dieser Index muss neu erstellt (aktiviert) werden, bevor Sie FREMDSCHLÜSSEL-Einschränkungen aktivieren können, die auf die PRIMARY KEY- oder UNIQUE-Einschränkung verweisen. FOREIGN KEY-Einschränkungen werden mithilfe der ALTER TABLE CHECK CONSTRAINT-Anweisung aktiviert.
Das Neuerstellen eines deaktivierten gruppierten Indexes kann nicht ausgeführt werden, wenn die ONLINE-Option auf EIN festgelegt ist.
Wenn der gruppierte Index deaktiviert oder aktiviert ist und der nicht gruppierte Index deaktiviert ist, hat die Gruppierte Indexaktion die folgenden Ergebnisse für den deaktivierten nicht gruppierten Index.
Gruppierte Indexaktion Nicht gruppierter Index deaktiviert ... INDEX ERNEUERN. Bleibt deaktiviert. ALTER INDEX ALL REBUILD. Wird neu erstellt und aktiviert. DROP-INDEX entfernen. Bleibt deaktiviert. INDEX ERSTELLEN MIT EXISTIERENDE LÖSCHEN. Bleibt deaktiviert. Das Erstellen eines neuen gruppierten Indexes verhält sich genauso wie ALTER INDEX ALL REBUILD.
Zulässige Aktionen für nicht gruppierte Indizes, die einem gruppierten Index zugeordnet sind, hängen vom Status ab, ob deaktiviert oder aktiviert, von beiden Indextypen. In der folgenden Tabelle sind die zulässigen Aktionen für nicht gruppierte Indizes zusammengefasst.
Nicht gruppierter Indexvorgang Wenn sowohl die gruppierten als auch die nicht gruppierten Indizes deaktiviert sind. Wenn der gruppierte Index aktiviert ist und sich der nicht gruppierte Index in beiden Status befindet. ALTER INDEX REBUILD. Die Aktion schlägt fehl. Die Aktion ist erfolgreich. DROP INDEX. Die Aktion ist erfolgreich. Die Aktion ist erfolgreich. Index erstellen mit bestehendem Löschen Die Aktion schlägt fehl. Die Aktion ist erfolgreich.
Sicherheit
Erlaubnisse
Erfordert ALTER-Berechtigung für die Tabelle oder Ansicht. Wenn DBCC DBREINDEX verwendet wird, muss der Benutzer entweder die Tabelle besitzen oder Mitglied der festen Serverrolle sysadmin oder der festen Datenbankrollen db_ddladmin und db_owner sein.
Verwendung von SQL Server Management Studio
So aktivieren Sie einen deaktivierten Index
Klicken Sie im Objekt-Explorer auf das Pluszeichen, um die Datenbank zu erweitern, die die Tabelle enthält, in der Sie einen Index aktivieren möchten.
Klicken Sie auf das Pluszeichen, um den Ordner "Tabellen " zu erweitern.
Klicken Sie auf das Pluszeichen, um die Tabelle zu erweitern, auf der Sie einen Index aktivieren möchten.
Klicken Sie auf das Pluszeichen, um den Ordner " Indizes " zu erweitern.
Klicken Sie mit der rechten Maustaste auf den Index, den Sie aktivieren möchten, und wählen Sie "Neu erstellen" aus.
Überprüfen Sie im Dialogfeld " Indizes neu erstellen", ob sich der richtige Index in den Indizes befindet, um das Raster neu zu erstellen , und klicken Sie auf OK.
So aktivieren Sie alle Indizes in einer Tabelle
Klicken Sie im Objekt-Explorer auf das Pluszeichen, um die Datenbank zu erweitern, die die Tabelle enthält, für die Sie die Indizes aktivieren möchten.
Klicken Sie auf das Pluszeichen, um den Ordner "Tabellen " zu erweitern.
Klicken Sie auf das Pluszeichen, um die Tabelle zu erweitern, auf der Sie die Indizes aktivieren möchten.
Klicken Sie mit der rechten Maustaste auf den Ordner "Indizes ", und wählen Sie " Alle neu erstellen" aus.
Überprüfen Sie im Dialogfeld " Indizes neu erstellen", ob sich die richtigen Indizes in den Indizes befinden, um das Raster neu zu erstellen , und klicken Sie auf OK. Wenn Sie einen Index aus den Indizes entfernen möchten, um das Raster neu zu erstellen , wählen Sie den Index aus, und drücken Sie dann die ENTF-TASTE.
Die folgenden Informationen sind im Dialogfeld " Indizes neu erstellen " verfügbar:
Verwenden von Transact-SQL
So aktivieren Sie einen deaktivierten Index mit ALTER INDEX
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.
USE AdventureWorks2012; GO -- Enables the IX_Employee_OrganizationLevel_OrganizationNode index -- on the HumanResources.Employee table. ALTER INDEX IX_Employee_OrganizationLevel_OrganizationNode ON HumanResources.Employee REBUILD; GO
So aktivieren Sie einen deaktivierten Index mit CREATE INDEX
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.
USE AdventureWorks2012; GO -- re-creates the IX_Employee_OrganizationLevel_OrganizationNode index -- on the HumanResources.Employee table -- using the OrganizationLevel and OrganizationNode columns -- and then deletes the existing IX_Employee_OrganizationLevel_OrganizationNode index CREATE INDEX IX_Employee_OrganizationLevel_OrganizationNode ON HumanResources.Employee (OrganizationLevel, OrganizationNode) WITH (DROP_EXISTING = ON); GO
So aktivieren Sie einen deaktivierten Index mit DBCC DBREINDEX
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.
USE AdventureWorks2012; GO -- enables the IX_Employee_OrganizationLevel_OrganizationNode index -- on the HumanResources.Employee table DBCC DBREINDEX ("HumanResources.Employee", IX_Employee_OrganizationLevel_OrganizationNode); GO
So aktivieren Sie alle Indizes einer Tabelle mithilfe von ALTER INDEX
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.
USE AdventureWorks2012; GO -- enables all indexes -- on the HumanResources.Employee table ALTER INDEX ALL ON HumanResources.Employee REBUILD; GO
So aktivieren Sie alle Indizes einer Tabelle mit DBCC DBREINDEX
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.
USE AdventureWorks2012; GO -- enables all indexes -- on the HumanResources.Employee table DBCC DBREINDEX ("HumanResources.Employee", " "); GO
Weitere Informationen finden Sie unter ALTER INDEX (Transact-SQL), CREATE INDEX (Transact-SQL) und DBCC DBREINDEX (Transact-SQL).