Fehler 17053 kann im Fehlerprotokoll protokolliert werden, nachdem Sie einen DBCC-Befehl in SQL Server ausgeführt haben.

In diesem Artikel wird beschrieben, wie Sie "Error: 17053" und andere Fehlermeldungen interpretieren können, die beim Ausführen eines DBCC-Befehls in SQL Server gemeldet werden.

Original Version des Produkts:   SQL Server
Ursprüngliche KB-Nummer:   926070

Problembeschreibung

Sie führen einen der folgenden DBCC-Befehle in Microsoft SQL Server aus:

  • DBCC CHECKDB
  • DBCC CHECKALLOC
  • DBCC CHECKTABLE
  • DBCC CHECKCATALOG
  • DBCC vorliegen DBCC

Anschließend werden möglicherweise Fehlermeldungen im SQL Server Fehlerprotokoll protokolliert, die dem folgenden ähneln:

2006-09-01 17:33:24.48 spid54 35 transactions rolled forward in database 'ProductionData' (11). This is an informational message only. No user action is required.
2006-09-01 17:35:39.16 spid54 4 transactions rolled back in database 'ProductionData' (11). This is an informational message only. No user action is required.
2006-09-01 17:36:31.76 spid53 Error: 17053, Severity: 16, State: 1.
2006-09-01 17:36:31.76 spid53 E:\SQLData\ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2006-09-01 17:36:31.76 spid53 Error: 17053, Severity: 16, State: 1.
2006-09-01 17:36:31.76 spid53 E:\ SQLData \ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2006-09-01 17:36:31.77 spid53 Error: 17053, Severity: 16, State: 1.
2006-09-01 17:36:31.77 spid53 E:\ SQLData \ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2006-09-01 17:36:31.80 spid54 DBCC CHECKDB (ProductionData) executed by DomainName \ UserName found 0 errors and repaired 0 errors. Elapsed time: 0 hours 3 minutes 19 seconds.
2006-09-01 17:36:31.90 spid53 Error: 17053, Severity: 16, State: 1.
2006-09-01 17:36:31.90 spid53 E:\ SQLData \ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2006-09-01 17:36:31.90 spid53 Error: 17053, Severity: 16, State: 1.
2006-09-01 17:36:31.90 spid53 E:\ SQLData \ProductionData.mdf:MSSQL_DBCC11: Operating system error 112(There is not enough space on the disk.) encountered.
2006-09-01 17:36:32.30 spid54 Error: 926, Severity: 21, State: 6.
2006-09-01 17:36:32.30 spid54 Database 'ProductionData' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information.

Ursache

In SQL Server verwenden DBCC-Befehle interne schreibgeschützte Datenbankmomentaufnahmen. Diese Datenbanksnapshots werden auf demselben Laufwerk erstellt, auf dem sich die entsprechenden Datenbankdateien befinden. Datenbankmomentaufnahmen wachsen proportional zur Menge der geänderten Daten in der Datenbank, für die die DBCC-Befehle ausgeführt werden. Wenn die Transaktionsaktivität in dieser Datenbank fortgesetzt wird, treten bei den von DBCC-Befehlen erstellten Datenbanksnapshots möglicherweise Speicherplatzprobleme auf. Da sich die Datenbank-Momentaufnahmedateien und die tatsächlichen Datendateien auf demselben Laufwerk befinden, konkurrieren beide Dateigruppen um Speicherplatz. In diesem Fall werden Anwendungstransaktionen oder Benutzertransaktionen bevorzugt angegeben. Der von DBCC verwendete interne Datenbanksnapshot ist als fehlerverdächtig gekennzeichnet. Daher treten bei DBCC-Befehlen Fehler auf und können nicht abgeschlossen werden.

Speicherplatz ist ein Grund dafür, dass Schreibvorgänge in die interne Datenbank-Momentaufnahme fehlschlagen können. Andere Gründe wie OS-Fehlercodes 1450 und 665 können auch zu ähnlichen Problemen beitragen und die interne Datenbank-Momentaufnahme in einen fehlerverdächtigen Zustand versetzen.

Status

Es handelt sich hierbei um ein beabsichtigtes Verhalten.

Weitere Informationen

Die folgenden wichtigen Informationen gelten für die Fehlermeldungen, die im Abschnitt " Problembeschreibung " erwähnt werden:

  • Diese Fehlermeldungen sind aus unterschiedlichen aktiven Serverprozess-IDs (SPIDs). SPID 54 ist die Sitzungs-ID, die den DBCC-Befehl ausführt. SPID 53 ist die Sitzungs-ID, die eine Benutzertransaktion ausführt.

  • Diese Fehlermeldungen deuten darauf hin, dass Transaktionen weitergeleitet und Transaktionen zurückgerollt werden. Diese Nachrichten werden während der ersten Phase der Ausführung des DBCC-Befehls generiert. Wenn Sie einen DBCC-Befehl ausführen, versucht der DBCC-Befehl zunächst, eine interne Momentaufnahme zu erstellen. Wenn der Snapshot erstellt wird, wird die Datenbankwiederherstellung für diesen Snapshot durchgeführt, um den Snapshot in einen konsistenten Zustand zu versetzen. Die Fehlermeldungen spiegeln diese Aktivität wider.

  • Fehlermeldung 926 gibt an, dass die Datenbank als verdächtig gekennzeichnet ist. Diese Fehlermeldung bezieht sich tatsächlich auf den internen Snapshot und nicht auf die tatsächliche Datenbank. Der Status der Datenbank lautet "Online", und die Datenbank ist funktionsfähig.

  • Fehlermeldung 17053 enthält den Namen der alternativen NTFS-Dateisystem Datenströme, die für die interne Momentaufnahme verwendet werden. Diese Fehlermeldung gibt den tatsächlichen Grund für das Problem an.

  • Die interne Datenbank-Momentaufnahme verwendet den gleichen Namen wie die tatsächliche Datenbank. Daher enthalten diese Fehlermeldungen den Namen der Datenbank.

  • Obwohl die Fehlerprotokollmeldung darauf hinweist, dass DBCC CHECKDB abgeschlossen wurde, sollte Sie als anormale Beendigung betrachtet werden. Sie sollten den Befehl DBCC CHECKDB erneut ausführen, damit er ausgeführt werden kann, bis er abgeschlossen ist, um auf die Konsistenz der Datenbank zuzugreifen. Lesen Sie in diesen Situationen die Ausgabe des Befehls DBCC CHECKDB, der an den Client zurückgesendet wurde, um zu verstehen, welche Objekte überprüft und als bereinigt gemeldet wurden.

Weitere Informationen zu diesem Problem finden Sie in den folgenden Themen in SQL Server Online Dokumentation:

  • Verwendung der internen DBCC-Datenbankmomentaufnahme

  • Grundlegendes zu Dateigrößen mit geringer Dichte in Datenbankmomentaufnahmen. Befolgen Sie die in diesen Themen beschriebenen Schritte, um Probleme bei der Speichernutzung zu vermeiden. Nachdem Sie ein Problem behoben haben, führen Sie die DBCC-Befehle erneut aus.

Zusätzlich zu den Fehlermeldungen, die im Abschnitt " Symptome " erwähnt werden, wird möglicherweise die folgende Fehlermeldung angezeigt:

Msg 5128, Ebene 17, Status 2, Reihe 6

Schreibzugriff auf Datei mit geringer Dichte ist aufgrund fehlendem E:\CreateFile\ProductionData.mdf:MSSQL_DBCC11 Speicherplatz nicht erfolgreich.

In diesem Fall weist die Clientanwendung, die die DBCC-Befehle ausführt, folgende Einträge in der Anwendungs Ergebnisgruppe auf:

DBCC-Ergebnisse für "ProductionData".

CHECKDB wurden 0 Zuordnungsfehler und 0 Konsistenzfehler in der Datenbank "ProductionData" gefunden.

Msg 926, Stufe 21, Status 6, Anschluss 1

Datenbank "ProductionData" kann nicht geöffnet werden. Es wurde bei der Wiederherstellung als fehlerverdächtig gekennzeichnet. Weitere Informationen finden Sie im SQL Server-Fehlerprotokoll.

Msg 0, Ebene 20, Status 0, Reihe 0

Beim aktuellen Befehl ist ein schwerer Fehler aufgetreten. Die Ergebnisse, falls vorhanden, sollten verworfen werden.

Wenn der Snapshot überhaupt nicht erstellt werden konnte, erhalten Sie Fehlermeldungen, die dem folgenden in der Clientanwendung ähneln, die die DBCC-Befehle ausgibt:

Msg 1823, Ebene 16, Status 1, Reihe 1

Eine Datenbankmomentaufnahme kann nicht erstellt werden, da Sie nicht gestartet werden konnte.

Msg 7928, Ebene 16, Status 1, Reihe 1

Die Datenbankmomentaufnahme für Online Prüfungen konnte nicht erstellt werden. Entweder wird der Grund in einem vorherigen Fehler angegeben, oder eines der zugrunde liegenden Volumes unterstützt keine Dateien mit geringer Dichte oder Alternative Datenströme. Der Versuch, exklusiven Zugriff zum Ausführen von Prüfungen offline zu erhalten.

Msg 5030, Ebene 16, Status 12, Anschluss 1

Die Datenbank konnte nicht ausschließlich gesperrt werden, um den Vorgang auszuführen.

Msg 7926, Ebene 16, Status 1, Reihe 1

Die Check-Anweisung wurde abgebrochen. Die Datenbank konnte nicht überprüft werden, da eine Datenbank-Momentaufnahme nicht erstellt werden konnte und die Datenbank oder Tabelle nicht gesperrt werden konnte. Informationen dazu, wann dieses Verhalten erwartet wird und welche Problemumgehungen vorliegen, finden Sie in der Online Dokumentation. Weitere Informationen finden Sie auch in den vorherigen Fehlern.

Msg 5106, Ebene 17, Status 2, Anschluss 1

Schreiben in die Datei mit geringer Dichte "e:\data\ LogFUllTest_Data. mdf: MSSQL_DBCC10" aufgrund mangelnden Speicherplatzes nicht erfolgreich.

Wenn der interne Datenbanksnapshot in 1450-oder 665-Fehlern ausgeführt wird, ist dies eine typische Sequenz, die Sie im SQL Server Fehlerprotokoll beachten:

2008-05-21 13:03:45.67 spid500 272 transactions rolled forward in database 'MYDATABASE' (12). This is an informational message only. No user action is required.
2008-05-21 13:03:45.84 spid500 2 transactions rolled back in database 'MYDATABASE' (12). This is an informational message only. No user action is required.
2008-05-21 13:03:46.97 spid500 Recovery completed for database MYDATABASE (database ID 12) in 5 second(s) (analysis 602 ms, redo 3954 ms, undo 105 ms.) This is an informational message only. No user action is required.
2008-05-21 13:36:48.25 spid480 The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00001b35138000 in file 'I:\MSSQL\DATA\mscrm_data1.ndf:MSSQL_DBCC12'.
2008-05-21 13:36:48.26 spid480 Error: 17053, Severity: 16, State: 1.
2008-05-21 13:36:48.26 spid480 C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12: Operating system error 665(The requested operation could not be completed due to a file system limitation) encountered.
2008-05-21 13:36:48.27 spid480 The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00001b35138000 in file 'C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12'.
2008-05-21 13:36:48.27 spid480 Error: 17053, Severity: 16, State: 1.
2008-05-21 13:36:48.27 spid480 C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12: Operating system error 665(The requested operation could not be completed due to a file system limitation) encountered.
2008-05-21 13:36:48.37 spid480 The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00001b35138000 in file 'C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12'.
2008-05-21 13:36:48.37 spid480 Error: 17053, Severity: 16, State: 1.
2008-05-21 13:36:48.37 spid480 C:\MSSQL\DATA\MyDatabase.mdf:MSSQL_DBCC12: Operating system error 665(The requested operation could not be completed due to a file system limitation) encountered.
2008-05-21 13:36:48.37 spid500 DBCC CHECKDB (MYDATABASE) executed by DomainName \ UserName found 0 errors and repaired 0 errors. Elapsed time: 0 hours 33 minutes 16 seconds. Internal database snapshot has split point LSN = 0000759c:002547bc:0040 and first LSN = 0000759c:0023696d:0049. This is an informational message only. No user action is required.

Referenz

MSSQLSERVER_17053