MSSQLSERVER_17053

Gilt für:SQL Server

Details

attribute Wert
Produktname SQL Server
Ereignis-ID 17053
Ereignisquelle MSSQLSERVER
Komponente SQLEngine
Symbolischer Name OS_ERROR
Meldungstext %ls: Betriebssystemfehler %ls.

Erklärung

Ein allgemeiner Betriebssystemfehler ist aufgetreten. Die Fehlermeldung umschließt einen spezifischeren Betriebssystemfehler (OS), der zur Diagnose dieses Fehlers verwendet werden kann. Beispiele wären Lese- oder Schreibvorgänge in Daten oder Protokolldateien, die fehlschlagen, Lese-/Schreibvorgänge in der Registrierung oder andere unerwartete Win32-API-Aufruffehler .
Dieser Fehler wird häufig zusammen mit anderen Fehlermeldungen im SQL Server-Fehlerprotokoll angezeigt. Die Fehler des Betriebssystems werden mit ihrem numerischen Wert angezeigt, gefolgt von der Textmeldung des Fehlers.

Benutzeraktion

Hier finden Sie Beispiele dafür, wie Sie 17053-Fehler zusammen mit anderen Fehlern sehen können. Jedes Beispiel enthält Ideen zum Ansatz des jeweiligen Szenarios.

Beispiel mit Betriebssystemfehler 665

In diesem Fall gibt der zugrunde liegende Betriebssystemfehler 665 an, dass beim Schreiben oder Lesen von Dateien eine Dateisystembeschränkung aufgetreten ist.

Error: 17053, Severity: 16, State: 1.
K:\DATA\MyDB.MDF_MSSQL_DBCC11: Operating system error 665(The requested operation could not be completed due to a file system limitation) encountered.

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 0x00031397ce2000 in file 'K:\DATA\MyDB.MDF_MSSQL_DBCC11'.

Lösung:

Wenn Dieses Szenario auftritt, führen Sie die Schritte in diesem Artikel aus, um zu beheben: Betriebssystemfehler 665 und 1450 werden für SQL Server-Dateien gemeldet.

Beispiel mit SQL Server-Fehler 9001 und zugrunde liegenden Betriebssystemfehlern 1117 und 21

In diesem Fall gibt der zugrunde liegende Betriebssystemfehler 1117 an, dass das Datenträgergerät einen Fehler aufweist oder physisch beschädigt ist.

Error: 17053, Severity: 16, State: 1.
SQLServerLogMgr::LogWriter: Operating system error 1117(The request could not be performed because of an I/O device error.) encountered.

Write error during log flush.

Error: 9001, Severity: 21, State: 5.
The log for database 'SQLContoso' is not available. Check the operating system error log for related error messages. Resolve any errors and restart the database.

In diesem Fall ist der zugrunde liegende Betriebssystemfehler 21, der angibt, dass das Datenträgergerät offline ist und für das Betriebssystem und SQL Server nicht verfügbar ist.

Error: 17053, Severity: 16, State: 1.
SQLServerLogMgr::LogWriter: Operating system error 21(The device is not ready.) encountered.
Write error during log flush.

Error: 9001, Severity: 21, State: 4.
The log for database 'ContosoDB' is not available. Check the operating system error log for related error messages. Resolve any errors and restart the database.

Lösung:

Wenn ein ähnliches Szenario auftritt, beheben Sie den zugrunde liegenden Betriebssystemfehler. In diesem Fall arbeiten Sie mit Ihrem Systemadministrator und Hardwareanbieter zusammen, um sicherzustellen, dass das Datenträgergerät online ist, ordnungsgemäß funktioniert und keine Fehler und Schäden gemeldet werden. In solchen Fällen müssen Sie möglicherweise die physische Integrität der Datenbanken überprüfen, sobald das Datenträgergerät wiederhergestellt wird, indem Sie DBCC CHECKDB ausführen. Wenn Datenbankschäden gemeldet werden, stellen Sie eine zuletzt bekannte gute Datenbanksicherung wieder her.

Beispiel mit SQL Server-Fehler 9001 und zugrunde liegenden Betriebssystemfehlern 170

In diesem Fall gibt der zugrunde liegende Betriebssystemfehler 170 an, dass die Dateien auf dem Datenträger von einem anderen Programm verwendet oder gesperrt werden, am häufigsten ein Dateisystemfiltertreiber.

Error: 17053, Severity: 16, State: 1.
SQLServerLogMgr::LogWriter: Operating system error 170(The requested resource is in use.) encountered.

Write error during log flush.

Error: 9001, Severity: 21, State: 5.
The log for database 'SQLContoso' is not available. Check the operating system error log for related error messages. Resolve any errors and restart the database.

Lösung:

Wenn ein ähnliches Szenario auftritt, beheben Sie den zugrunde liegenden Betriebssystemfehler. In diesem Fall arbeiten Sie mit Ihrem Systemadministrator zusammen, um sicherzustellen, dass die Datenbank- und Protokolldateien nicht von anderen Programmen gesperrt werden. Am häufigsten können Antiviren- oder Hostschutzsoftware, Defragmentierungssoftware oder Sicherungssoftware, die Sperrungen für die Dateien für eine lange Zeit enthält, zu diesem Betriebssystemfehler führen. Stellen Sie sicher, dass Datenbankdateien nicht gescannt oder verwendet werden; Informationen zum Auswählen von Antivirensoftware, die auf Computern ausgeführt werden soll, auf denen SQL Server ausgeführt wird.

Wenn Laufwerke in WSFC-Umgebungen (clustered) nicht ordnungsgemäß auf dem Back-End konfiguriert sind, sperren sie möglicherweise Datenbankdateien, wenn sie nicht vorgesehen sind. Weitere Informationen zum Speicher für WSFC finden Sie unter Failoverclustering-Hardwarelösung und Failoverclusterinstanzen mit SQL Server auf virtuellen Azure-Computern – Speicher

Beispiel mit SQL Server-Fehler 9002 und zugrunde liegenden Betriebssystemfehler 112

In diesem Fall gibt der zugrunde liegende Betriebssystemfehler 112 an, dass das Datenträgervolume nicht genügend Speicherplatz hat.

Error: 17053, Severity: 16, State: 1.
L:\SQLLOG\Contoso.LDF: Operating system error 112(There is not enough space on the disk.) encountered.

Error: 9002, Severity: 17, State: 5.
The transaction log for database 'ContosoDb' is full due to 'DATABASE_MIRRORING'.

Error: 5149, Severity: 16, State: 3.
MODIFY FILE encountered operating system error 112(There is not enough space on the disk.) while attempting to expand the physical file 'L:\SQLLOG\Contoso.LDF'.

Lösung:

Wenn ein ähnliches Szenario auftritt, beheben Sie den zugrunde liegenden Betriebssystem 112-Fehler. Arbeiten Sie in diesem Fall mit Ihrem Systemadministrator zusammen, um Speicherplatz auf dem Gerät freizumachen, und versuchen Sie dann, das vollständige Transaktionsprotokoll zu bearbeiten. Ausführliche Schritte zur Problembehandlung bei Fehler 9002 finden Sie unter Problembehandlung für ein vollständiges Transaktionsprotokoll (SQL Server-Fehler 9002).

Beispiel mit den Fehlern 17053 und 5173

In diesem Fall wird der zugrundeliegende Betriebssystemfehler 112 beim Start gemeldet, weil eine Datenbankdatei (häufig tempdb) mit einer Anfangsgröße konfiguriert ist, die größer ist als der freie Speicherplatz auf der Festplatte. SQL Server kann die Datei nicht erstellen oder vergrößern, und die Instanz startet nicht. Da der SQL Server nicht starten kann, kann man die Dateigröße nicht über eine normale Verbindung festlegen. Zuerst musst du den SQL Server mit minimaler Konfiguration starten.

2026-07-19 17:18:46.70 spid21s     Error: 17053, Severity: 16, State: 1.
2026-07-19 17:18:46.70 spid21s     D:\SQLTemp\Log\tempdb.ldf: Operating system error 112(There is not enough space on the disk.) encountered.

2026-07-19 17:18:46.72 spid21s     Error: 5173, Severity: 16, State: 1.
2026-07-19 17:18:46.72 spid21s     One or more files do not match the primary file of the database. If you are attempting to attach a database, retry the operation with the correct files. If this is an existing database, the file may be corrupted and should be restored from a backup.

2026-07-19 17:18:46.72 spid21s     Error: 1802, Severity: 16, State: 4.
2026-07-19 17:18:46.72 spid21s     CREATE DATABASE failed. Some file names listed could not be created. Check related errors.

Lösung:

Wenn SQL Server nicht startet und wiederholt abstürzt, weil die konfigurierte Anfangsgröße einer Datenbankdatei den freien Speicherplatz der Festplatte überschreitet:

  1. Starte den SQL Server-Dienst mit minimaler Konfiguration (-fStartparameter). Damit startet der SQL Server mit einem Minimum tempdb und ermöglicht die Verbindung über die dedizierte Administratorverbindung (DAC).

  2. Überprüfen Sie die konfigurierte Anfangsgröße der Benutzerdatenbankdateien:

    SELECT
        DB_NAME(database_id) AS DatabaseName,
        name AS LogicalFileName,
        type_desc AS FileType,       -- ROWS = Data file, LOG = Log file
        size * 8 / 1024 AS SizeMB    -- Initial size in MB
    FROM sys.master_files
    WHERE database_id > 4            -- Exclude system databases
    ORDER BY DatabaseName, FileType;
    
  3. Für jede Datei, deren Anfangsgröße größer ist als der verfügbare Speicherplatz, reduzieren Sie sie auf einen Wert, der passt:

    ALTER DATABASE YourDatabaseName
    MODIFY FILE
    (
        NAME = YourDataFileLogicalName,
        SIZE = 512MB                 -- new initial size
    );
    
  4. Schließen Sie die DAC-Verbindung und starten Sie den SQL Server-Dienst normalerweise über den SQL Server-Konfigurations-Manager oder die Services-Konsole neu.

Für tempdbgilt dasselbe Prinzip: Reduziere die konfigurierte Anfangsgröße der tempdb Daten oder Protokolldateien, damit sie auf die Festplatte passen, und starte dann den SQL Server neu. Weitere Informationen zur Größenplanung tempdbfinden Sie unter Optimieren der TempDB-Leistung in SQL Server.