![]() |
MS SQL 2005 Standard, проблема с БД 1С.
Доброе время суток. Есть MS SQL 2005 Standard, на котором закреплены БД для 1С. К одной из таких БД невозможно получить доступ: в списке БД на ней стоит восклицательный знак, рядом с именем в скобках написано (Suspect). Хотел восстановить логическую целостность с помощью DBCC CHECKDBF (DBCC CHECKDB ('8.1')), но при выполнении запроса выдается следующая ошика:
Msg 926, Level 14, State1, Line1 Database '8.1' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information. Думал что возможно что-то не так с SQL на этой машине, поставил SQL на другую, пробовал приаттачить, при прикреплении произошла следующая ошибка: SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0xbefe5da5; actual: 0x530a5da1). It occurred during a read of page (1:2251394) in database ID 5 at offset 0x0000044b504000 in file 'G:\check_base\8.1.mdf'. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online. Так же, думал, что SQL сам что-нибудь исправляет в этой базе, раз она помечена "подозрительной", оставил на ночь, эффекта не дало. Подскажите пожалуйста как можно реанимировать базу. |
__sa__nya,
1) А полная архивная копия базы есть? 2) Перед началом операций восстановления убедитесь что у вас нет проблем с накопителем (жестким диском). |
А если поковырять результаты этого поиска?
В частности, интересна статья на http://www.sqlusa.com/bestpractices2005/markedsuspect/ |
kim-aa, полная копия базы есть, но довольно староватая, с дисками проблем нет, проверяли.
Delirium, вчера в google целый день рылись, все более-менее внятные посты говорят, что нужно пробовать DBCC CHECKDB, а как я писал выше, такое не проканывает, еще натыкались на такой код: EXEC sp_resetstatus ‘yourDBname’; ALTER DATABASE yourDBname SET EMERGENCY DBCC checkdb(’yourDBname’) ALTER DATABASE yourDBname SET SINGLE_USER WITH ROLLBACK IMMEDIATE DBCC CheckDB (’yourDBname’, REPAIR_ALLOW_DATA_LOSS) ALTER DATABASE yourDBname SET MULTI_USER - Он тоже не проканывает, ругается на стрку "ALTER DATABASE '8.1' SET EMERGENCY' (имя проблемной БД 8.1, и SQL говорит, что синтаксическая ошибка в программе, пробовали имя указывать в кавычках, без кавычек, в скобках - и ничего). Есть возможность применить DBCC CHECKDB к неприсоединенной БД? Если есть, то как? |
__sa__nya, а что, если остановить MS SQL и переименовать файлы mdf, ldf на другое имя? типа Base8 ?И попробовать подцепить ее. Может, действительно, имя не нравится?
|
Delirium, при подцепливании базы выходит ошибка, о которой писал выше.
|
Время: 08:19. |
Время: 08:19.
© OSzone.net 2001-