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

Откуда:
Сообщений: 6
Добрый день, возник такой вопрос:

При выполнении некого кода возникла ошибка "Attempt to fetch logical page (1:5045788) in database 5 failed. It belongs to allocation unit -3369933233265442816 not to 72057608800698368."

Запустил Dbcc CheckDb, без всяких дополнительных параметров. Но никаких ошибок процедура не выдала!

Затем уже, путём анализа кода, вычислил конкретную таблицу, запустил REBUILD для индексов, после чего всё заработало.

Но остаётся вопрос: каким образом получилось так, что запуск CheckDb не выявил ошибки в структуре индекса? Бывает ли такое? И есть ли ещё какие-то варианты более строгой проверки?

@@Version = "Microsoft SQL Server 2005 - 9.00.5000.00 (X64) Dec 10 2010 10:38:40 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1) "
19 дек 12, 13:31    [13653826]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в структуре индекса не ловится CheckDb  [new]
aleks2
Guest
Как ты думаешь, нафега нужон
DBCC CHECKTABLE
?
19 дек 12, 13:37    [13653895]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в структуре индекса не ловится CheckDb  [new]
Гость333
Member

Откуда:
Сообщений: 3683
aleks2
Как ты думаешь, нафега нужон
DBCC CHECKTABLE
?

А что он делает такого, чего не делает DBCC CHECKDB?
DBCC CHECKDB (Transact-SQL)
Checks the logical and physical integrity of all the objects in the specified database by performing the following operations:
...
Runs DBCC CHECKTABLE on every table and view in the database.
...
19 дек 12, 13:54    [13654057]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в структуре индекса не ловится CheckDb  [new]
gritsay
Member

Откуда:
Сообщений: 6
Гость333,

Опередили, то же самое хотел сказать.
19 дек 12, 13:56    [13654074]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в структуре индекса не ловится CheckDb  [new]
aleks2
Guest
Гость333
aleks2
Как ты думаешь, нафега нужон
DBCC CHECKTABLE
?

А что он делает такого, чего не делает DBCC CHECKDB?
DBCC CHECKDB (Transact-SQL)
Checks the logical and physical integrity of all the objects in the specified database by performing the following operations:
...
Runs DBCC CHECKTABLE on every table and view in the database.
...

А почитать BOL?
19 дек 12, 14:06    [13654148]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в структуре индекса не ловится CheckDb  [new]
читатель BOL-a
Guest
aleks2
Гость333
пропущено...

А что он делает такого, чего не делает DBCC CHECKDB?
пропущено...

А почитать BOL?


хмм...

http://msdn.microsoft.com/ru-ru/library/ms176064(v=sql.105).aspx
Проверяет логическую и физическую целостность всех объектов в указанной базе данных путем выполнения следующих операций.

a) Выполнение инструкции DBCC CHECKALLOC для базы данных.
b) Выполнение инструкции DBCC CHECKTABLE для каждой таблицы и каждого представления в базе данных.
c) Выполнение инструкции DBCC CHECKCATALOG для базы данных.
d) Проверка содержимого каждого индексированного представления в базе данных.
e) Проверка согласованности между файлами и директориями файловой системы и метаданными таблицы на уровне ссылок при хранении данных varbinary(max) в файловой системе с помощью FILESTREAM.
f) Проверка данных компонента Service Broker в базе данных.

Из этого следует, что не требуется дополнительно вызывать инструкции DBCC CHECKALLOC, DBCC CHECKTABLE и DBCC CHECKCATALOG при использовании инструкции DBCC CHECKDB. Дополнительные сведения о проверках, выполняемых этими командами, см. в описании данных команд.



я кончено верю, что есть подводные камни, но не могли бы вы ими в меня кинуть
19 дек 12, 14:17    [13654237]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в структуре индекса не ловится CheckDb  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2421
gritsay,

автор
Запустил Dbcc CheckDb, без всяких дополнительных параметров. Но никаких ошибок процедура не выдала!


наверное потому что вы не на той базе запускали Dbcc CheckDb без параметров
19 дек 12, 16:49    [13655452]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в структуре индекса не ловится CheckDb  [new]
gritsay
Member

Откуда:
Сообщений: 6
WarAnt,

тоже думал об этом. Но после того как у меня продолжала воспроизводиться ошибка, окно с результатами CheckDB оставалось открытым. Поэтому я мог удостовериться (и удостоверился), что запустил именно на нужной базе.
19 дек 12, 17:20    [13655647]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в структуре индекса не ловится CheckDb  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2421
gritsay,

тогда может это?

БОЛ
Инструкция DBCC CHECKDB не анализирует отключенные индексы. Дополнительные сведения об отключенных индексах см. в разделе Отключение индексов.
19 дек 12, 17:56    [13655886]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в структуре индекса не ловится CheckDb  [new]
hpv
Member

Откуда:
Сообщений: 153
WarAnt,

Хмм, а зачем тогда серверу понадобилось "Attempt to fetch...", если индекс отключен?
19 дек 12, 18:00    [13655902]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в структуре индекса не ловится CheckDb  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2421
hpv
WarAnt,

Хмм, а зачем тогда серверу понадобилось "Attempt to fetch...", если индекс отключен?


ну я уж не знаю как у вас что работает, может вы при запуске скриптов включаете индексы, а потом выключаете, вам виднее.
19 дек 12, 18:48    [13656146]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в структуре индекса не ловится CheckDb  [new]
gritsay
Member

Откуда:
Сообщений: 6
WarAnt,

Тоже реальная версия. Но никакого отключения и включения индексов в скрипте не было. Обычная выборка, без хинтов даже.
20 дек 12, 10:19    [13658012]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в структуре индекса не ловится CheckDb  [new]
Spartakich
Member

Откуда: Riga
Сообщений: 380
gritsay,

опция Page_verify для базы какая стоит ?
20 дек 12, 10:24    [13658031]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в структуре индекса не ловится CheckDb  [new]
gritsay
Member

Откуда:
Сообщений: 6
Spartakich,

CHECKSUM
20 дек 12, 12:12    [13658800]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в структуре индекса не ловится CheckDb  [new]
gritsay
Member

Откуда:
Сообщений: 6
Кажется, прояснилось.

Ещё раз возник аналогичный случай (CheckDb не ловит, но ошибка есть). Перезагрузили сервер SQL - ошибка ушла.

Вот, нашёл статью, пишут, что достаточно очистки кэша SQL.

http://dev.net.ua/blogs/denisreznik/archive/2009/11/08/9008.aspx
13 фев 13, 12:07    [13919152]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в структуре индекса не ловится CheckDb  [new]
Гость333
Member

Откуда:
Сообщений: 3683
gritsay
Вот, нашёл статью, пишут, что достаточно очистки кэша SQL.

http://dev.net.ua/blogs/denisreznik/archive/2009/11/08/9008.aspx

Если внимательно прочитать статью, то увидим, что
автор
чистка кэшей это не выход
13 фев 13, 12:14    [13919225]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить