Просто быстрый поиск в Google и поиск аналогичной темы здесь . Тем не менее, я извлек возможное решение для удобства использования.
Означает, что существует проблема с подсистемой ввода-вывода. Это то, что называется «жесткой ошибкой ввода / вывода». SQL Server просит ОС прочитать страницу и говорит «нет» - это означает, что подсистеме ввода-вывода не удалось прочитать данную страницу.
Вывод CHECKDB означает, что не удалось создать внутренний снимок базы данныхчто он использует для получения транзакционно-согласованного представления базы данных на определенный момент времени. Это может быть вызвано рядом причин:
На томах, в которых хранятся файлы данных для базы данных, может не быть свободного места. У учетной записи службы SQL могут отсутствовать разрешения на создание файлов в каталоге. содержащий файлы данных для базы данных. Если ни один из этих случаев не подходит, вы можете создать свой собственный снимок базы данных и запустить для него DBCC CHECKDB
. Если у вас есть, запустите следующее:
DBCC CHECKDB (yourdbname) WITH NO_INFOMSGS, ALL_ERRORMSGS
Какими бы ни были результаты, вы рассматриваете либо восстановление из резервной копии, извлечение данных в новую базу данных, либо выполнение восстановления. Каждый включает в себя различные периоды простоя и потери данных. Вам также нужно будет провести некоторый анализ первопричин, чтобы выяснить, что, в первую очередь, стало причиной повреждения.
Кстати, у вас включены контрольные суммы страниц? Вы просматривали в журнале ошибок SQL или в журнале событий приложений Windows какие-либо признаки повреждения или неправильной работы подсистемы ввода-вывода?