Warum ist es nicht möglich, direkt aus der Tabelle auf die Daten zuzugreifen und den B-Baum zu verwerfen? (höchstwahrscheinlich durch zeilenweises Scannen der Tabelle) Wäre das nicht angemessener als unzugängliche Daten überhaupt?
Um Ihre Frage zu beantworten, sind die Grundlagen der Indizierung nützlicher: Ein Index besteht aus einer Reihe von Seiten (Indexknoten), die in einer B-Baum-Struktur organisiert sind. Diese Struktur ist hierarchischer Natur, wobei sich der Wurzelknoten oben in der Hierarchie und die Blattknoten unten befinden. Weitere Details finden Sie hier .
Wie viele Leute beschrieben haben, sind Clustered Indexes == Originaltabellen, die physisch mit einem oder mehreren Schlüsseln oder Spalten geordnet sind. Wenn ein Clustered-Index deaktiviert ist, kann nicht auf seine Datenzeilen zugegriffen werden. Sie können keine Daten einfügen (für Nicht-Clustered-Index ist das Einfügen erfolgreich - dies hängt jedoch nicht vollständig mit diesem Beitrag zusammen - da hier die Diskussion über Clustered-Index erfolgt), oder es funktioniert auch keine Reorganisationsoperation.
Im Folgenden werden Sie im Detail erklärt:
Wir werden die Adventureworks-Datenbank verwenden, um die Auswirkungen der Deaktivierung des CLUSTERED- Index zu sehen.
Überprüfen Sie nun die Zeilenanzahl in der Tabelle:
Deaktivieren Sie nun den Clustered Index
Wählen Sie nun die Zeilenanzahl aus der Tabelle aus. Dieses Mal tritt ein Fehler mit der folgenden Meldung auf:
Auch der Reorganisationsvorgang funktioniert nicht !!
Erstellen Sie jetzt den Clustered Index neu und es sollte gut funktionieren.
Wählen Sie die Tabelle aus, um zu sehen, ob wir auf die Daten zugreifen können
Die Quintessenz ist also, dass, wenn wir den Clustered-Index deaktivieren, die Daten in der Tabelle weiterhin vorhanden sind, aber nur für Drop- oder REBUILD-Operationen zugänglich sind. Alle zugehörigen nicht gruppierten Indizes und Ansichten sind nicht verfügbar, und Fremdschlüssel, die auf die Tabelle verweisen, werden deaktiviert. Dort wird FAILURE für alle Abfragen geführt, die auf die Tabelle verweisen.
Hinweis: Es gibt keine Option zum Aktivieren des Index. Sie müssen es wieder aufbauen.