MSSQL Error 17053: Operating system error encountered — анализ и решение
- Запись в SQL Server Errorlog:
Error: 17053, Severity: 16, State: 1. E:\SQLData\base1c.mdf: Operating system error 38(Reached the end of the file.) encountered. - Ошибки чтения/записи OS error
21(The device is not ready),1117(The request could not be performed because of an I/O device error). - База данных 1С переходит в состояние
RECOVERY PENDINGилиSUSPECT. - Резкое зависание рабочих процессов 1С (rphost) при выполнении транзакций.
1. Анализ кода ошибки операционной системы в логе
EXEC sp_readerrorlog 0, 1, '17053';
EXEC sp_readerrorlog 0, 1, 'Operating system error';2. Расшифровка распространенных кодов Windows API
- Error 3 (Path not found): Недоступен сетевой диск, отмонтирован LUN или изменен путь к файлу базы.
- Error 21 (Device not ready): Сбой RAID-контроллера, тайм-аут iSCSI/FC SAN или сброс SSD накопителя.
- Error 38 (End of file reached): Логическое повреждение заголовка файла данных или сбой авторасширения (Auto-growth).
- Error 665 / 1450 (Insufficient system resources): Превышен лимит фрагментации разреженных файлов (Sparse Files) на томе NTFS.
3. Проверка дисковой подсистемы и очередей ввода-вывода
-- Проверка задержек (Latency) чтения/записи по файлам 1С
SELECT DB_NAME(database_id) AS DatabaseName,
file_id, io_stall_read_ms / NULLIF(num_of_reads, 0) AS AvgReadLatencyMs,
io_stall_write_ms / NULLIF(num_of_writes, 0) AS AvgWriteLatencyMs
FROM sys.dm_io_virtual_file_stats(NULL, NULL)
ORDER BY AvgReadLatencyMs DESC;4. Проверка прав NTFS для служебной учетной записи SQL Server
# Проверка прав на каталог данных
Get-Acl -Path "E:\SQLData" | Format-ListУчетная запись службы SQL Server должна иметь права Full Control на все каталоги с MDF, NDF, LDF и бэкапами.
5. Проверка целостности диска через Windows chkdsk
chkdsk E: /F /R Частые вопросы (FAQ)
Что делать, если ошибка 17053 вызвана кодом NTFS 665?
Это происходит при сильной фрагментации атрибутов NTFS из-за частого инкрементального расширения базы или создания большого количества снапшотов. Необходимо выполнить форматирование тома с ключом /L (Large FRS) и дефрагментацию диска.
Может ли антивирус вызывать ошибку 17053?
Да. Антивирусное ПО, сканирующее файлы .mdf/.ldf в реальном времени, блокирует дескриптор файла, вызывая ошибки 'Access is denied' или 'Sharing violation'.
Как восстановить базу из состояния Recovery Pending после ошибки 17053?
Устраните причину недоступности накопителя, затем переведите базу в онлайн: ALTER DATABASE your_1c_db SET ONLINE; после чего запустите DBCC CHECKDB.
Помогает ли включение Instant File Initialization (IFI)?
Да, предоставление права 'Perform Volume Maintenance Tasks' учетной записи SQL Server предотвращает тайм-ауты диска при расширении MDF-файлов 1С.