Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Восстановление побитой базы  [new]
upor
Member

Откуда:
Сообщений: 11
Есть база. Без объявления войны "вдруг" ПО работающее с базой начало сигналить, что "не всё в порядке".
checkdb дало:
автор
Service Broker Msg 9605, State 1: Conversation Priorities analyzed: 0.
Msg 8909, Level 16, State 1, Line 1
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 0 (type Unknown), page ID (1:218376) contains an incorrect page ID in its page header. The PageId in the page header = (0:0).
Msg 8998, Level 16, State 2, Line 1
Page errors on the GAM, SGAM, or PFS pages prevent allocation integrity checks in database ID 8 pages from (1:218376) to (1:226463). See other errors for cause.
CHECKDB found 2 allocation errors and 0 consistency errors not associated with any single object.


dbcc checkdb (база, REPAIR_ALLOW_DATA_LOSS) не помог

Забукапил базу, восстановил рядом.
checkdb по восстановленой базе
автор
Service Broker Msg 9605, State 1: Conversation Priorities analyzed: 0.
Msg 8939, Level 16, State 5, Line 1
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 0 (type Unknown), page (1:218376). Test (m_headerVersion == HEADER_7_0) failed. Values are 0 and 1.
Msg 8939, Level 16, State 6, Line 1
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 0 (type Unknown), page (1:218376). Test ((m_type >= DATA_PAGE && m_type <= UNDOFILE_HEADER_PAGE) || (m_type == UNKNOWN_PAGE && level == BASIC_HEADER)) failed. Values are 0 and 0.
Msg 8939, Level 16, State 7, Line 1
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 0 (type Unknown), page (1:218376). Test (m_freeData >= PageHeaderOverhead () && m_freeData <= (UINT)PAGESIZE - m_slotCnt * sizeof (Slot)) failed. Values are 0 and 8192.
Msg 8998, Level 16, State 2, Line 1
Page errors on the GAM, SGAM, or PFS pages prevent allocation integrity checks in database ID 14 pages from (1:218376) to (1:226463). See other errors for cause.
CHECKDB found 4 allocation errors and 0 consistency errors not associated with any single object.


По логам программы нашёл на какой таблице отваливается (табличка некритичная, архивная - в принципе можно и прибить её без большого ущерба). Попробовал удалить/ребилдить индексы на таблице - не получилось. Удалил таблицу целиком - проблема с checkdb осталась.

Можно ли как то полечить базу без перелива данных?
PS букапа свежего как водится немае.
18 окт 13, 17:42    [14999764]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление побитой базы  [new]
invm
Member

Откуда: Москва
Сообщений: 9913
upor
Можно ли как то полечить базу без перелива данных?
Нельзя.
upor
PS букапа свежего как водится немае.
Зато теперь они, наверное, будут.
18 окт 13, 18:34    [15000178]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление побитой базы  [new]
upor
Member

Откуда:
Сообщений: 11
Во время перелива при выполнении запросов ошибок не обнаружилось (было обнаружилось несколько таблиц на которых побило индексы, после чего индексы были удалены и select всё из этих запросов стали проходить). Можно ли считать в этом случае, что данные восстановлены без потерь?
20 окт 13, 14:56    [15004453]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление побитой базы  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
upor
Во время перелива при выполнении запросов ошибок не обнаружилось (было обнаружилось несколько таблиц на которых побило индексы, после чего индексы были удалены и select всё из этих запросов стали проходить). Можно ли считать в этом случае, что данные восстановлены без потерь?


можно считать, что данные как-то восстановлены.
20 окт 13, 16:40    [15004675]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить