Die Fehler 17053 und 926 werden möglicherweise im Fehlerprotokoll protokolliert, nachdem Sie einen DBCC-Befehl in SQL Server

In diesem Artikel werden fehler 17053 und 926 vorgestellt, die möglicherweise gemeldet werden, wenn Sie einen DBCC Befehl in SQL Server ausführen. Außerdem werden Schritte zur Problembehandlung der zugrunde liegenden Betriebssystemfehler 112, 665 oder 1450 beschrieben.

Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 926070

Symptome

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

  • DBCC CHECKDB
  • DBCC CHECKALLOC
  • DBCC CHECKTABLE
  • DBCC CHECKCATALOG
  • DBCC CHECKFILEGROUP

Der Befehl schlägt möglicherweise fehl, und Sie erhalten möglicherweise die Fehler 17053, 926 und andere Fehlermeldungen in der Ausgabe der Clientanwendung und im SQL Server Fehlerprotokoll.

Fehler

Fehler 926 gibt an, dass die Datenbank als verdächtig gekennzeichnet ist. Diese Fehlermeldung bezieht sich auf die interne Momentaufnahme und nicht auf die eigentliche Datenbank. Die status der Datenbank ist online, und die Datenbank ist funktionsfähig.

Fehler 17053 ist ein SQL Server Fehler, der verwendet wird, um den zugrunde liegenden Betriebssystemfehler offenzulegen. Sie enthält den Namen der Dateien, die für die interne Momentaufnahme verwendet werden. Die Fehlermeldung gibt den tatsächlichen Grund für das Problem an.

In den folgenden Abschnitten werden die ausführlichen Fehlermeldungen angezeigt, die Möglicherweise angezeigt werden. Weitere Informationen zu diesen Fehlermeldungen finden Sie im Abschnitt Weitere Informationen .

Betriebssystemfehler 112– nicht genügend Speicherplatz

Fehlermeldungen, die den zugrunde liegenden Betriebssystemfehler 112, "Es ist nicht genügend Speicherplatz auf dem Datenträger." anzeigen, werden möglicherweise im SQL Server Fehlerprotokoll protokolliert.

2022-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.
2022-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.
2022-09-01 17:36:31.76 spid53 Error: 17053, Severity: 16, State: 1.
2022-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.
2022-09-01 17:36:31.76 spid53 Error: 17053, Severity: 16, State: 1.
2022-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.
2022-09-01 17:36:31.77 spid53 Error: 17053, Severity: 16, State: 1.
2022-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.
2022-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.
2022-09-01 17:36:31.90 spid53 Error: 17053, Severity: 16, State: 1.
2022-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.
2022-09-01 17:36:31.90 spid53 Error: 17053, Severity: 16, State: 1.
2022-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.
2022-09-01 17:36:32.30 spid54 Error: 926, Severity: 21, State: 6.
2022-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.

In einigen Fällen erhalten Sie möglicherweise die folgende Fehlermeldung:

Msg 5128, Level 17, State 2, Line 6
Write to sparse file `E:\CreateFile\ProductionData.mdf:MSSQL_DBCC11` failed due to lack of disk space.

In diesen Fällen kann die Clientanwendung, die die DBCC Befehle ausführt, die folgenden Einträge im Resultset der Anwendung anzeigen:

DBCC results for 'ProductionData'.
CHECKDB found 0 allocation errors and 0 consistency errors in database 'ProductionData'.
Msg 926, Level 21, State 6, Line 1
Database 'ProductionData' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information.
Msg 0, Level 20, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.

Wenn die interne Datenbank Momentaufnahme, die von den DBCC Befehlen verwendet wird, überhaupt nicht erstellt werden konnte, erhalten Sie die folgenden Fehler in der Clientanwendung, die die DBCC Befehle ausgibt:

Msg 1823, Level 16, State 1, Line 1
A database snapshot cannot be created because it failed to start.

Msg 7928, Level 16, State 1, Line 1
The database snapshot for online checks could not be created. Either the reason is given in a previous error or one of the underlying volumes does not support sparse files or alternate streams. Attempting to get exclusive access to run checks offline.

Msg 5030, Level 16, State 12, Line 1
The database could not be exclusively locked to perform the operation.

Msg 7926, Level 16, State 1, Line 1
Check statement aborted. The database could not be checked as a database snapshot could not be created and the database or table could not be locked. See Books Online for details of when this behavior is expected and what workarounds exist. Also see previous errors for more details.

Msg 5106, Level 17, State 2, Line 1
Write to sparse file 'E:\Data\LogFUllTest_Data.mdf:MSSQL_DBCC10' failed due to lack of disk space.

Betriebssystemfehler 665 – Dateisystemeinschränkung, Betriebssystemfehler 1450 – unzureichende Systemressourcen

Wenn für die interne Datenbank Momentaufnahme Fehler vom Typ 1450 oder 665 auftreten, sehen Sie im SQL Server Fehlerprotokoll möglicherweise eine typische Sequenz:

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.

Weitere Informationen

  • Diese Fehlermeldungen stammen von verschiedenen aktiven Sitzungen (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 weisen auf Rollforward-Transaktionen und rollback-Transaktionen hin. Die Meldungen werden in der Anfangsphase der DBCC Befehlsausführung generiert. Wenn Sie einen DBCC Befehl ausführen, versucht der DBCC Befehl zunächst, eine interne Momentaufnahme zu erstellen. Wenn die Momentaufnahme erstellt wird, wird die Datenbankwiederherstellung für diesen Momentaufnahme ausgeführt, um die Momentaufnahme in einen konsistenten Zustand zu versetzen. Die Fehlermeldungen spiegeln diese Aktivität wider.
  • Die interne Datenbank Momentaufnahme verwendet denselben Namen wie die eigentliche Datenbank. Daher enthalten diese Fehlermeldungen den Namen der Datenbank.
  • Obwohl die Meldung des Fehlerprotokolls darauf hinweist, dass DBCC CHECKDB abgeschlossen ist, sollte dies als ungewöhnliche Beendigung angesehen werden. Führen Sie den DBCC CHECKDB Befehl erneut aus, damit er ausgeführt werden kann, bis er abgeschlossen ist, um die Konsistenz der Datenbank zu bewerten. Beziehen Sie sich in diesen Situationen auf die Ausgabe des DBCC CHECKDB an den Client zurückgesendeten Befehls, um zu verstehen, welche Objekte überprüft und sauber gemeldet wurden.

Ursache

In SQL Server DBCC verwenden Befehle interne schreibgeschützte Datenbankmomentaufnahmen. Weitere Informationen finden Sie unter So erstellt DBCC CHECKDB eine interne Momentaufnahme-Datenbank ab SQL Server 2014. Diese Datenbankmomentaufnahmen werden auf demselben Laufwerk erstellt, auf dem sich die entsprechenden Datenbankdatendateien befinden. Datenbankmomentaufnahmen wachsen proportional zu Datenänderungen in der Datenbank, in der DBCC Befehle ausgeführt werden. Wenn die Transaktionsaktivität in der Benutzerdatenbank fortgesetzt wird, werden die von DBCC Befehlen erstellten internen Datenbankmomentaufnahmen möglicherweise weiter vergrößert, und es können Probleme mit dem Speicherplatz auftreten. Weitere Informationen finden Sie unter Speicherplatzanforderungen für Datenbankmomentaufnahmen. Da sich die Datenbank Momentaufnahme Dateien und die eigentlichen Datendateien auf demselben Laufwerk befinden, konkurrieren beide Dateien um Speicherplatz. In diesem Fall werden Anwendungs- oder Benutzertransaktionen bevorzugt. Die interne Datenbank Momentaufnahme von DBCC verwendet wird, ist als verdächtig gekennzeichnet. Daher erzeugen die DBCC Befehle Fehler und können nicht abgeschlossen werden.

Schreibvorgänge in die interne Datenbank Momentaufnahme können aufgrund von unzureichendem Speicherplatz fehlschlagen. Andere Probleme, z. B. der Betriebssystemfehler 665, können ebenfalls zu ähnlichen Problemen führen und die interne Datenbank Momentaufnahme in einen verdächtigen Zustand versetzen.

Lösung

Verwenden Sie den Lösungsabschnitt, der einem der Probleme entspricht, die Sie möglicherweise behoben haben:

Betriebssystemfehler 112

Verwenden Sie eine oder mehrere der folgenden Alternativen, um den Betriebssystemfehler 112 zu beheben, der in SQL Server Fehler 17053 ausgelöst wird:

  • Geben Sie Speicherplatz auf dem Laufwerk frei, auf dem sich die Datenbank befindet, DBCC CHECKDB damit eine Datenbank Momentaufnahme erstellt werden kann.
  • Führen Sie DBCC CHECKDBWITH TABLOCK aus, um die Erstellung einer internen Momentaufnahme zu verhindern.
  • Verwenden Sie eine Replikationstechnologie wie Verfügbarkeitsgruppen, Protokollversand, Sicherung/Wiederherstellung oder SQL Server-Replikation, und erstellen Sie eine Kopie der Datenbank auf einem anderen Server. Führen Sie dann den DBCC CHECKDB Befehl auf diesem Server aus.

Betriebssystemfehler 665 und 1450

Zum Beheben von Betriebssystemfehlern 665 oder 1450, die innerhalb des Fehlers 17053 ausgelöst wurden, verwenden Sie eine oder mehrere der Lösungen, die in den Betriebssystemfehlern 665 und 1450 für SQL Server-Dateien angegeben sind.