Назад | Перейти на главную страницу

MS SQL Server 2005: критическая ошибка 823

Сервер MS SQL - база данных, которая работала нормально последние недели, неожиданно выдала следующую ошибку:

System.Data.SqlClient.SqlException: Предупреждение: критическая ошибка 823 произошла в дата / время
Запишите ошибку и время и обратитесь к системному администратору.

Что означает эта ошибка и что с ней делать?

Я попытался

DBCC CHECKDB('mydatabase')

но я получил только больше сообщений об ошибках.

Заранее спасибо!

Как сказал Сплаттне, 823 означает проблему с подсистемой ввода-вывода. Сообщение 823 - это то, что я называю «аппаратной ошибкой ввода-вывода». SQL Server запрашивает у ОС прочитать страницу, а она говорит «нет» - это означает, что подсистема ввода-вывода не может прочитать данную страницу.

Вывод CHECKDB означает, что ему не удалось создать моментальный снимок внутренней базы данных, который он использует для получения согласованного с транзакциями представления базы данных на определенный момент времени. Этому может быть несколько причин:

  1. На томах, на которых хранятся файлы данных для базы данных, может не быть свободного места.
  2. Учетная запись службы SQL может не иметь разрешений на создание файла в каталоге, содержащем файлы данных для базы данных.

Если ни одно из этих условий не выполняется, вы можете создать собственный снимок базы данных и запустить на нем DBCC CHECKDB. Тот, который у вас есть, запустите следующее:

DBCC CHECKDB (yourdbname) WITH NO_INFOMSGS, ALL_ERRORMSGS

Если вы опубликуете результаты, я интерпретирую их для вас (я написал DBCC CHECKDB для SQL 2005)

Какими бы ни были результаты, вы смотрите на восстановление из резервной копии, извлечение данных в новую базу данных или запуск восстановления. Каждый из них предполагает разное время простоя и потери данных. Вам также нужно будет провести анализ первопричин, чтобы выяснить, что в первую очередь вызвало повреждение.

Кстати - у вас включены контрольные суммы страниц? Просматривали ли вы журнал ошибок SQL или журнал событий приложений Windows на предмет каких-либо признаков повреждения или каких-либо проблем с подсистемой ввода-вывода?

Надеюсь это поможет.

Ой! Неустранимая ошибка 823 означает, что произошла ошибка физического диска. В частности, страница, запрошенная SQL Server, не может быть прочитана. Это очень серьезная ошибка, указывающая на серьезную проблему с этой базой данных или с сервером в целом. Надеюсь, у вас есть резервная копия базы данных.

Я бы проверил журнал событий на этом сервере, в системе и в приложении. Посмотрите, есть ли ошибки, связанные с диском. Каковы подробности CHECKDB в БД?

 DBCC CheckDB('< Database name >) WITH NO_INFOMSGS. 

У меня такая же ошибка, но это произошло из-за привилегий. Как только я дал все права на диске, то есть Windows Drive, он работает без ошибок.