Ошибка MS SQL 823 и 824 в базе 1С: спасение данных при сбое диска
- В журнале SQL Server или в окне 1С появляется ошибка:
Msg 823, Level 24: I/O error on read/writeилиMsg 824: SQL Server detected a logical consistency-based I/O error (bad checksum). - База данных 1С в SQL Management Studio переходит в статус Suspect (Подозрительный) или Recovery Pending.
- Пользователи экстренно вылетают из 1С при чтении определенных справочников или документов.
Что означают ошибки 823 и 824
Это сигналы аппаратного бедствия. SQL Server попытался прочитать страницу с жесткого диска, но операционная система Windows вернула ошибку чтения (сбой контроллера, битый сектор диска Bad Block) либо контрольная сумма страницы в памяти не совпала с записанной на диске.
Пошаговый план спасения базы 1С:
- Немедленно снимите побитовую копию файлов базы (.mdf и .ldf): Скопируйте файлы базы на другой, заведомо исправный физический накопитель.
- Переведите базу в однопользовательский режим: В SQL Server Management Studio (SSMS) выполните запрос:
ALTER DATABASE [ИмяБазы1С] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; - Запустите проверку целостности без исправления:
Внимательно изучите нижние строки отчета (количество ошибок размещений и согласованности).DBCC CHECKDB ([ИмяБазы1С], NOINDEX); - Попробуйте мягкое исправление без потери данных:
DBCC CHECKDB ([ИмяБазы1С], REPAIR_REBUILD); - Крайний метод (если есть повреждения критических таблиц):
-- ВНИМАНИЕ: может удалить поврежденные страницы с документами! DBCC CHECKDB ([ИмяБазы1С], REPAIR_ALLOW_DATA_LOSS); - Верните многопользовательский режим:
ALTER DATABASE [ИмяБазы1С] SET MULTI_USER;
Частые вопросы (FAQ)
Почему произошла эта ошибка, если сервер новый?
Ошибки 823/824 часто вызываются внезапным отключением электричества (кэш контроллера диска сбросился некорректно), перегревом SSD/NVMe накопителя или сбоем в кабелях SAS/SATA.
Что делать, если REPAIR_ALLOW_DATA_LOSS удалил часть проводок?
После входа в 1С выполните 'Тестирование и исправление' в Конфигураторе для восстановления ссылочной целостности объектов, либо восстановите базу из вчерашней резервной копии.
Как проверить здоровье самого физического диска?
Проверьте параметры S.M.A.R.T. диска утилитами CrystalDiskInfo или фирменным софтом производителя (Samsung Magician, Kingston SSD Manager) на наличие Reallocated Sectors.
Поможет ли простое создание нового бэкапа .bak?
Если на диске есть поврежденные страницы, SQL Server откажется делать обычный бэкап и выдаст ошибку контрольной суммы (CHECKSUM error).