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

Откуда: Москва
Сообщений: 2791
Попробовали удалить вид - не удалось.
View на базе одной таблицы. Индексы таблицы перестроили без проблем.
Все что предпринимали - см.ниже.

Вопросы:

1. Что еще можно предпринять кроме восстановления базы данных?
2. Как можно определить объект по следующим параметрам: index page (1:1357), index ID 2, database 'QA' (BOL рекомендует: Record the value of index page and index ID specified in the error text. Identify which table and index correspond to the index page number.)

--------------------------------------------------------------------------------

drop view uv_RepoHeader
go

Server: Msg 644, Level 21, State 5, Line 2
Could not find the index entry for RID '16066f83f41b4da7a761b010500' in index page (1:1357), index ID 2, database 'QA'.

Connection Broken

-------------------------------------------------------------------------------

dbcc checktable('sysindexes',REPAIR_ALLOW_DATA_LOSS)
go

Server: Msg 8970, Level 16, State 1, Line 1
Row error: Object ID 2, index ID 0, page ID (4:130224), row ID 7. Column 'reserved' was created NOT NULL, but is NULL in the row.
Server: Msg 8964, Level 16, State 1, Line 1
Table error: Object ID 2. The text, ntext, or image node at page (4:82034), slot 9, text ID 5489575723008 is not referenced.
DBCC results for 'sysindexes'.
The repair level on the DBCC statement caused this repair to be bypassed.
The repair level on the DBCC statement caused this repair to be bypassed.
There are 2587 rows in 135 pages for object 'sysindexes'.
CHECKTABLE found 0 allocation errors and 2 consistency errors in table 'sysindexes' (object ID 2).

-------------------------------------------------------------------------------

dbcc checkdb ('QA',REPAIR_REBUILD)
go

Server: Msg 7995, Level 16, State 1, Line 1
Database 'QA' consistency errors in sysobjects, sysindexes, syscolumns, or systypes prevent further CHECKDB processing.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

--------------------------------------------------------------------------------

select @@version
go

Microsoft SQL Server 2000 - 8.00.760 (Intel X86)
Dec 17 2002 14:22:05
Copyright (c) 1988-2003 Microsoft Corporation
Enterprise Edition on Windows NT 5.2 (Build 3790: )
2 ноя 04, 17:18    [1078534]     Ответить | Цитировать Сообщить модератору
 Re: Msg 644 при drop view. Восстановление sysindexes.  [new]
Glory
Member

Откуда:
Сообщений: 104760
1. Что еще можно предпринять кроме восстановления базы данных?
Например заскриптовать все объекты, сделать на их основе новую базу и попробовать перекачать туда данные.

2. Как можно определить объект по следующим параметрам: index page (1:1357), index ID 2, database 'QA'
DBCC PAGE
В вашем случае Pagenum это 1357.
В результатах вывода команды m_objId есть ИД объекта, которуму принадлежит эта страница
3 ноя 04, 10:27    [1079563]     Ответить | Цитировать Сообщить модератору
 Re: Msg 644 при drop view. Восстановление sysindexes.  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2791
За подсказку по DBCC PAGE - спасибо. Только ссылка дает на описание какого-то старого формата DBCC. Для SQL-2000 формат несколько иной:

DBCC PAGE ({dbid | dbname}, filenum, pagenum[, printopt])

т.е. для моего случая index page 1:1357 это будет:

DBCC PAGE (7, 1, 1357, 0)

что в итоге выводит на sysdepends.

Далее на

dbcc checktable('sysdepends',repair_rebuild)

Server: Msg 2594, Level 16, State 1, Line 1
Invalid index ID (0) specified.
Server: Msg 2511, Level 16, State 1, Line 1
Table error: Object ID 12, Index ID 0. Keys out of order on page (1:1683), slots 94 and 95.
Server: Msg 2511, Level 16, State 1, Line 1
Table error: Object ID 12, Index ID 0. Keys out of order on page (1:1683), slots 101 and 102.
Server: Msg 2511, Level 16, State 1, Line 1
Table error: Object ID 12, Index ID 0. Keys out of order on page (1:1683), slots 108 and 109.
Server: Msg 2511, Level 16, State 1, Line 1
Table error: Object ID 12, Index ID 0. Keys out of order on page (1:1683), slots 113 and 114.
Server: Msg 2511, Level 16, State 1, Line 1
Table error: Object ID 12, Index ID 0. Keys out of order on page (1:1683), slots 118 and 119.
DBCC results for 'sysdepends'.
Could not repair this error.
Repairing this error requires other errors to be corrected first.
Repairing this error requires other errors to be corrected first.
Repairing this error requires other errors to be corrected first.
Repairing this error requires other errors to be corrected first.
There are 31589 rows in 305 pages for object 'sysdepends'.
CHECKTABLE found 0 allocation errors and 5 consistency errors in table 'sysdepends' (object ID 12).
repair_rebuild is the minimum repair level for the errors found by DBCC CHECKTABLE (QA.dbo.sysdepends repair_rebuild).

Основное, что я понял: силами DBCC базу не спасти.
3 ноя 04, 13:11    [1080374]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить