Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

MSSQL_ERROR_823 1С:Предприятие и СУБД

MSSQL Error 823: I/O Error detected during read — Аппаратные сбои и восстановление

Обновлено: 25.08.2026 · Официальная документация ↗

Ошибка 823 свидетельствует о том, что SQL Server отправил запрос на чтение страницы ОС Windows, но операционная система вернула аппаратную ошибку ввода-вывода (сбой чтения диска, таймаут шины или повреждение контроллера).

  • Сообщение: I/O error (bad page ID) detected during read at offset %S_BUFF on file '%ls' (Severity 24).
  • В Windows Event Log (System) фиксируются ошибки драйверов дисков Disk Error 7, Ntfs 55, storahci 129 или volsnap.
  • База данных может перейти в аварийный статус SUSPECT или прерывать выполнение бэкапов.
  • Пользователи 1С получают сообщение о фатальном сбое физического чтения данных таблицы.

1. Анализ журнала Windows и SQL Server ERRORLOG

-- Просмотр последних записей об ошибках чтения в ERRORLOG
EXEC sys.sp_readerrorlog 0, 1, '823';

Проверьте Windows Event Log: журнал System на наличие ошибок контроллера disk, hba, storport, nvme.

2. Проверка целостности базы данных (DBCC CHECKDB)

DBCC CHECKDB ([YourDatabaseName]) WITH NO_INFOMSGS, ALL_ERRORMSGS;

3. Идентификация поврежденных страниц в msdb

SELECT 
    database_id, 
    file_id, 
    page_id, 
    error_type, 
    page_type, 
    last_update_date 
FROM msdb.dbo.suspect_pages
WHERE error_type IN (1, 2, 3);

4. Восстановление поврежденной страницы из резервной копии (Page Restore)

Если база работает в модели восстановления FULL, выполните онлайн-восстановление конкретной сбойной страницы без простоя всей базы:

-- 1. Восстановление страницы из полного бэкапа
RESTORE DATABASE [YourDatabaseName] 
   PAGE = '1:54321' 
   FROM DISK = 'D:\Backups\Full.bak' 
   WITH NORECOVERY;

-- 2. Накатка логов транзакций
RESTORE LOG [YourDatabaseName] 
   FROM DISK = 'D:\Backups\Log_1.trn' 
   WITH NORECOVERY;

-- 3. Завершение восстановления
RESTORE DATABASE [YourDatabaseName] WITH RECOVERY;

5. Аппаратная замена накопителя / перенос файлов

Если ошибка повторяется на одном смещении (offset), немедленно выведите диск из строя, мигрируйте файлы MDF/NDF на исправный LUN/SSD и проверьте кабели SAS/SATA/FC.

💡 Практика специалистов: Ошибка 823 никогда не является программным багом SQL Server или конфигурации 1С. Это 100% аппаратный инцидент: сбой диска, контроллера RAID, поломка кэша контроллера без BBU или деградация SAN fabric.

Частые вопросы (FAQ)

В чем фундаментальная разница между ошибками 823 и 824?

Ошибка 823 — это сбой на уровне операционной системы и драйвера (ОС не смогла прочитать байты с накопителя). Ошибка 824 — это логический сбой: ОС прочитала данные успешно, но SQL Server обнаружил несовпадение контрольной суммы Torn Page / Checksum.

Почему ошибка 823 имеет Severity 24?

Severity 24 указывает на критический сбой аппаратного уровня. Соединение мгновенно закрывается, а транзакция откатывается.

Поможет ли repair_allow_data_loss при ошибке 823?

Команда DBCC CHECKDB с параметром REPAIR_ALLOW_DATA_LOSS может удалить поврежденную страницу вместе с данными, но она не устранит первопричину — деградацию физического диска или контроллера RAID.

Как перенести сбойный файл базы на другой диск при ошибке 823?

Переведите базу в OFFLINE: ALTER DATABASE [DB] SET OFFLINE. Скопируйте файл на новый исправный диск, измените путь: ALTER DATABASE [DB] MODIFY FILE (NAME = logical_name, FILENAME = 'new_path') и переведите базу в ONLINE.

Полезные материалы
Рекомендуем