MSSQLSERVER_17053

Aplica-se a: SQL Server

Detalhes

Attribute Value
Nome do Produto SQL Server
ID do Evento 17053
Origem do evento MSSQLSERVER
Componente SQLEngine
Nome simbólico OS_ERROR
Texto da mensagem %ls: Erro do sistema operacional %ls encontrado.

Explanation

Ocorreu um erro genérico do sistema operativo. A mensagem de erro envolve um erro mais específico do sistema operativo (SO), que pode ser usado para ajudar a diagnosticar essa falha. Exemplos incluem leituras ou escritas em dados ou ficheiros de registo que falham, operações de leitura/escrita do registo ou outras falhas inesperadas de chamadas de API Win32 .
Verá frequentemente este erro juntamente com outras mensagens de erro no registo de erros do SQL Server. Os erros do sistema operativo são mostrados com o seu valor numérico, seguido da mensagem de texto do erro.

Ação do Usuário

Aqui estão exemplos de como pode ver o erro 17053 juntamente com outros erros. Cada exemplo fornece ideias sobre como abordar o cenário específico.

Exemplo com erro de sistema operativo 665

Neste caso, o erro subjacente do sistema operativo 665 indica que foi encontrada uma limitação do sistema de ficheiros durante a escrita ou leitura de ficheiros.

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'.

Resolution:

Se se deparar com este cenário, siga os passos deste artigo para resolver: os erros do sistema operativo 665 e 1450 são reportados para ficheiros SQL Server

Exemplo com o erro 9001 do SQL Server e os erros subjacentes do sistema operativo 1117 e 21

Neste caso, o erro subjacente do sistema operativo 1117 indica que o dispositivo de disco tem um erro ou está fisicamente danificado.

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.

Neste caso, o erro do sistema operativo subjacente é 21, o que indica que o dispositivo de disco está offline e não disponível para o sistema operativo e o SQL Server usarem.

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.

Resolution:

Se encontrares um cenário semelhante, resolve o erro do sistema operativo subjacente. Neste caso, trabalhe com o administrador do sistema e o fornecedor de hardware para garantir que o dispositivo de disco está online, a funcionar corretamente e que não são reportados erros ou danos. Em casos como este, pode ser necessário verificar a integridade física das bases de dados depois de o dispositivo de disco ser restaurado, executando o DBCC CHECKDB. Se forem reportados danos na base de dados, restaure uma última cópia de segurança conhecida e boa.

Exemplo com o erro 9001 do SQL Server e os erros subjacentes do sistema operativo 170

Neste caso, o erro subjacente do sistema operativo 170 indica que os ficheiros no disco estão a ser usados ou bloqueados por outro programa, mais frequentemente um controlador de filtro do sistema de ficheiros.

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.

Resolution:

Se encontrares um cenário semelhante, resolve o erro do sistema operativo subjacente. Neste caso, trabalhe com o administrador do sistema para garantir que a base de dados e os ficheiros de registo não são bloqueados por outros programas. Mais frequentemente, software antivírus ou proteção de host, software de desfragmentação ou software de backup que mantém bloqueios nos ficheiros durante muito tempo pode causar este erro do sistema operativo. Certifique-se de excluir ficheiros de base de dados de serem digitalizados ou utilizados; veja Como escolher software antivírus para correr em computadores que executam SQL Server.

Em ambientes WSFC (cluster), se os discos não estiverem devidamente configurados no back-end, podem bloquear ficheiros de base de dados quando não devem. Para mais informações sobre armazenamento para WSFC, veja Solução de hardware por Clustering por failover e Instâncias de clusters de failover com SQL Server nas Máquinas Virtuais do Azure - Storage

Exemplo com o erro 9002 do SQL Server e o erro subjacente do sistema operativo 112

Neste caso, o erro subjacente do sistema operativo 112 indica que o volume do disco está sem espaço.

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'.

Resolution:

Se encontrares um cenário semelhante, aborda o erro subjacente do OS 112. Neste caso, trabalhe com o administrador do sistema para libertar espaço em disco no dispositivo e depois tente resolver o registo completo de transações. Para passos detalhados sobre a resolução de problemas do erro 9002, consulte Troubleshoot a Full Transaction Log (SQL Server Error 9002).

Exemplo com os erros 17053 e 5173

Neste caso, o erro subjacente do sistema operativo 112 é reportado no arranque porque um ficheiro de base de dados (frequentemente tempdb) está configurado com um tamanho inicial maior do que o espaço livre no disco. O SQL Server não consegue criar nem fazer crescer o ficheiro, e a instância não começa. Como o SQL Server não consegue arrancar, não se pode ajustar o tamanho do ficheiro através de uma ligação normal. Primeiro tens de implementar o SQL Server com configuração mínima.

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.

Resolution:

Se o SQL Server falhar ao iniciar e crashar repetidamente porque o tamanho inicial configurado de um ficheiro de base de dados excede o espaço livre do disco:

  1. Inicia o serviço SQL Server com configuração mínima (-fparâmetro de arranque). Isto inicia o SQL Server com um mínimo tempdb e permite-lhe ligar através da ligação de administrador dedicado (DAC).

  2. Inspecione o tamanho inicial configurado dos ficheiros da base de dados do utilizador:

    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. Para qualquer ficheiro cujo tamanho inicial seja maior do que o espaço disponível em disco, reduza-o para um valor que se encaixe:

    ALTER DATABASE YourDatabaseName
    MODIFY FILE
    (
        NAME = YourDataFileLogicalName,
        SIZE = 512MB                 -- new initial size
    );
    
  4. Feche a ligação ao DAC e reinicie o serviço SQL Server normalmente a partir do Gestor de Configuração do SQL Server ou da consola de Serviços.

Para tempdb, aplica-se o mesmo princípio: reduzir o tamanho inicial configurado dos tempdb ficheiros de dados ou registo para que se adaptem ao disco, depois reiniciar o SQL Server. Para mais informações sobre dimensionamentotempdb, veja Otimizar o desempenho do tempdb no SQL Server.