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

SQL: восстановить базу данных, которая не была отключена должным образом

У меня были проблемы с жестким диском на моем компьютере разработчика, но я смог сохранить файлы MDF и LDF. Излишне говорить, что они не были отделены должным образом.

Я попытался sp_attach_single_file_db который вышел из строя со следующей ошибкой:

SQL Server обнаружил ошибку ввода-вывода на основе логической согласованности: недопустимый параметр защиты. Это произошло во время чтения страницы (0: 0) в базе данных с идентификатором 0 по смещению 0000000000000000 в файле «FILENAME». Дополнительные сообщения в журнале ошибок SQL Server или журнале системных событий могут содержать более подробную информацию. Это серьезная ошибка, которая угрожает целостности базы данных и должна быть немедленно исправлена. Выполните полную проверку целостности базы данных (DBCC CHECKDB). Эта ошибка может быть вызвана многими факторами; Дополнительные сведения см. в электронной документации по SQL Server.

Я также попытался создать новую базу данных того же размера, остановить службу и перезаписать новый mdf старый mdf. Но после запуска сервера база данных не подозревается, когда я смотрю на ее свойства, ее состояние - «выключено».

Использую SQL 2k8.

Любые идеи?

Можете ли вы запустить базу данных в аварийном режиме?

ALTER DATABASE YourDatabase
SET EMERGENCY

Если вы можете, то вы можете запустить DBCC в базе данных и увидеть, насколько серьезны повреждения.

Если жесткий диск был залит таким шлангом, база данных может быть сильно повреждена.