Dateistatus

In SQL Server wird der Status einer Datenbankdatei unabhängig vom Status der Datenbank verwaltet.Eine Datei befindet sich immer in einem bestimmten Status, wie ONLINE oder OFFLINE. Wenn Sie den aktuellen Status einer Datei anzeigen möchten, verwenden Sie die sys.master_files- oder sys.database_files-Katalogsicht. Wenn die Datenbank offline ist, kann der Status der Datei über die sys.master_files-Katalogsicht angezeigt werden.

Der Status der Dateien in einer Dateigruppe legt die Verfügbarkeit der gesamten Dateigruppe fest. Damit eine Dateigruppe verfügbar ist, müssen alle Dateien in der Dateigruppe online sein. Wenn Sie den aktuellen Status einer Dateigruppe anzeigen möchten, verwenden Sie die sys.filegroups-Katalogsicht. Wenn eine Dateigruppe offline ist und Sie versuchen, mit einer Transact-SQL-Anweisung auf die Dateigruppe zuzugreifen, führt dies zu einem Fehler. Wenn der Abfrageoptimierer Abfragepläne für SELECT-Anweisungen erstellt, vermeidet er nicht gruppierte Indizes und indizierte Sichten, die in Offlinedateigruppen gespeichert sind, damit die Anweisungen erfolgreich ausgeführt werden. Wenn die Offlinedateigruppe jedoch den Heap oder gruppierten Index der Zieltabelle enthält, erzeugt die SELECT-Anweisung einen Fehler. Außerdem wird ein Fehler für alle INSERT-, UPDATE- oder DELETE-Anweisungen erzeugt, die eine Tabelle mit einem Index in einer Offlinedateigruppe ändern, fehl.

Dateistatusdefinitionen

Die folgende Tabelle definiert den Dateistatus.

Status

Definition

ONLINE

Die Datei ist für alle Operationen verfügbar. Dateien in der primären Dateigruppe sind immer online, wenn die Datenbank selbst online ist. Wenn eine Datei in der primären Dateigruppe nicht online ist, ist die Datenbank nicht online, und der Status der sekundären Dateien ist nicht definiert.

OFFLINE

Die Datei ist nicht für den Zugriff verfügbar und ist möglicherweise nicht auf dem Datenträger vorhanden. Dateien werden durch explizite Benutzeraktionen offline geschaltet und bleiben offline, bis weitere Benutzeraktionen durchgeführt werden.

VorsichtshinweisVorsicht
Eine Datei sollte nur offline geschaltet werden, wenn sie zwar beschädigt ist, jedoch wiederhergestellt werden kann. Eine offline geschaltete Datei kann nur durch Wiederherstellen der Datei aus der Sicherung erneut online geschaltet werden. Weitere Informationen zum Wiederherstellen einer einzelnen Datei finden Sie unter RESTORE (Transact-SQL).

RESTORING

Die Tabelle wird wiederhergestellt. Dateien gehen aufgrund eines Wiederherstellungsbefehls in den Wiederherstellungsstatus über, der sich auf die gesamte Datei und nicht nur auf eine Seitenwiederherstellung bezieht; sie verbleiben in diesem Status, bis die Wiederherstellung abgeschlossen ist und die Datei wiederhergestellt wurde.

RECOVERY PENDING

Die Wiederherstellung der Datei wurde verschoben. Eine Datei geht automatisch in diesen Status über, weil ein schrittweiser Wiederherstellungsvorgang durchgeführt wird, bei dem die Datei nicht wiederhergestellt wird. Es sind weitere Aktionen durch den Benutzer erforderlich, um den Fehler zu beheben und den Wiederherstellungsvorgang erfolgreich abzuschließen. Weitere Informationen finden Sie unter Ausführen der schrittweisen Wiederherstellung.

SUSPECT

Die Wiederherstellung der Datei ist während eines Onlinewiederherstellungsvorgangs fehlgeschlagen. Wenn sich die Datei in der primären Dateigruppe befindet, wird die Datenbank ebenfalls als fehlerverdächtig markiert. Anderenfalls gilt nur für die Datei der Status Fehlerverdächtig, und die Datenbank besitzt auch weiterhin den Status online.

Die Datei behält den Status Fehlerverdächtig, bis sie durch eine der folgenden Methoden bereitgestellt wird:

  • Wiederherstellung

  • DBCC CHECKDB mit REPAIR_ALLOW_DATA_LOSS

DEFUNCT

Die Datei wurde gelöscht, während sie nicht online war. Alle Dateien in einer Dateigruppe erhalten den Status defunct, wenn eine Offlinedateigruppe entfernt wird.