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

Откуда:
Сообщений: 710
Добрый день, уважаемые коллеги !!!

Microsoft SQL Server 2008 R2 (SP2) - 10.50.4263.0 (X64) Aug 23 2012 15:56:56 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)


Перестала отрабатывать одна из SP по ошибке
Сообщение
Выполняется от имени пользователя: ENERGOMERA\SQL.Unspecified error occurred on SQL Server. Connection may have been terminated by the server. [SQLSTATE HY000] (Ошибка 0) Ошибка проверки системного предположения. Дополнительные сведения см. в журнале ошибок SQL Server. Обычно ошибка подтверждения вызвана ошибкой в программном обеспечении или повреждением данных. Чтобы проверить базу данных на наличие повреждений, можно выполнить инструкцию DBCC CHECKDB. Если во время установки было дано соглашение на отправку дампов в Майкрософт, то будет произведена отправка мини-дампа. Обновление может стать доступным в последнем пакете обновления Майкрософт или в исправлении QFE службы поддержки. [SQLSTATE HY000] (Ошибка 3624) Location: tmpilb.cpp:2536 Expression: fFalse SPID: 81 Process ID: 1848 Description: Attempt to access expired blob handle (1) [SQLSTATE 01000] (Ошибка 3624). Шаг завершился с ошибкой.


В журнале ошибок
Дата,Источник,Серьезность,Сообщение
12/05/2012 12:22:11,spid81,Неизвестно,A system assertion check has failed. Check the SQL Server error log for details. Typically<c/> an assertion failure is caused by a software bug or data corruption. To check for database corruption<c/> consider running DBCC CHECKDB. If you agreed to send dumps to Microsoft during setup<c/> a mini dump will be sent to Microsoft. An update might be available from Microsoft in the latest Service Pack or in a QFE from Technical Support.
12/05/2012 12:22:11,spid81,Неизвестно,Ошибка: 3624<c/> серьезность: 20<c/> состояние: 1.
12/05/2012 12:22:11,spid81,Неизвестно,SQL Server Assertion: File: <tmpilb.cpp><c/> line = 2536 Failed Assertion = 'fFalse' Attempt to access expired blob handle (1). This error may be timing-related. If the error persists after rerunning the statement<c/> use DBCC CHECKDB to check the database for structural integrity<c/> or restart the server to ensure in-memory data structures are not corrupted.
12/05/2012 12:22:11,spid81,Неизвестно,Ошибка: 17065<c/> серьезность: 16<c/> состояние: 1.


DBCC CHECKDB на msdb показал следующие
Сообщение 8952, уровень 16, состояние 1, строка 1
Ошибка в таблице: таблица "syssessions" (идентификатор 437576597). Строке индекса "nonclust" (идентификатор 2) не соответствует ни одна строка данных. Возможно, существуют лишние или недопустимые ключи для:
Сообщение 8956, уровень 16, состояние 1, строка 1
Строка индекса (1:153:9) со значениями (agent_start_date = '2010-08-26 14:08:04.790' and session_id = 10) указывает на строку данных, определенную (session_id = 10).


Как победить данную ошибку ?
5 дек 12, 12:41    [13580441]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при DBCC CHECKDB БД msdb  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37051
Восстановить базу из бэкапа.
5 дек 12, 12:59    [13580614]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при DBCC CHECKDB БД msdb  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
После DROP и CREATE nonclust индекса(уникальный, некластеризованный) на таблице syssessions ошибок при DBCC CHECKDB нету, но SP при выполнении выдаёт всё тоже самое, в журнал ошибок тоже спмое пишеться. Куда копать дальше ?
5 дек 12, 13:01    [13580644]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при DBCC CHECKDB БД msdb  [new]
invm
Member

Откуда: Москва
Сообщений: 9397
or restart the server to ensure in-memory data structures are not corrupted.
Пробовали?
5 дек 12, 13:07    [13580720]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при DBCC CHECKDB БД msdb  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
invm
or restart the server to ensure in-memory data structures are not corrupted.
Пробовали?

Дал серверу рестарт. По итогам получил ошибку при выполнении SP
автор
Сообщение
Выполняется от имени пользователя: ENERGOMERA\SQL.Координатор MSDTC на сервере "S01-SQ03" недоступен. [SQLSTATE 42000] (Ошибка 8501). Шаг завершился с ошибкой.

Смотрю в статистику транзакций для MSDTC и вижу что при выполнении SP транзакция выпадает в прерваные. Это была единичная ошибка(первая при перезагрузки), далее вся симптоматика вернулась к моему первому сообщению.

Итак куда плыть дальше :) ?
5 дек 12, 13:38    [13581121]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при DBCC CHECKDB БД msdb  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
stavgreengo
Итак куда плыть дальше :) ?


Попробовать отребилдить индекс "nonclust".
5 дек 12, 13:55    [13581316]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при DBCC CHECKDB БД msdb  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
pkarklin
stavgreengo
Итак куда плыть дальше :) ?


Попробовать отребилдить индекс "nonclust".

Да. Я описывал выше. После этого ошибка при DBCC CHECKDB msdb упразднилась, но ошибки при попытки SP остались преждними и ничего не изменилось. Больше по DBCC CHECKDB на сервере никаких проблем в БД не обнаруживается.
5 дек 12, 14:03    [13581406]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при DBCC CHECKDB БД msdb  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Дальнейшие расследование выявило ещё следующий момент, не отрабатывает хранимая процедура при выполнении из джоба, в то время как из под этого же пользователя отрабатывает при обычном выполнении T-SQL кода в менеджмент студии. Теперь куда плыть-то, навигацию задайте, пожалуйста :)
5 дек 12, 14:15    [13581527]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при DBCC CHECKDB БД msdb  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
stavgreengo,

Сравните SETы сессий агента и из студии, когда выполнение проходит нормально.
5 дек 12, 14:18    [13581553]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при DBCC CHECKDB БД msdb  [new]
Spartakich
Member

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

так запуская из джоба, агент использует MSDB,
а запуская код просто из студии, MSDB скорее всего не трогается.


автор
Итак куда плыть дальше :) ?

Гавриленко Сергей Алексеевич
Восстановить базу из бэкапа.
5 дек 12, 14:34    [13581668]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при DBCC CHECKDB БД msdb  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Так-с, дальше больше, помойму винда подгнивать на глазах начинает :) мистическим образом T-SQL прекратил выполняться и в менеджмент студии с ошибкой
Location: tmpilb.cpp:2536
Expression: fFalse
SPID: 95
Process ID: 1868
Description: Attempt to access expired blob handle (1)
Сообщение 64, уровень 20, состояние 0, строка 0
Ошибка на транспортном уровне при получении результатов с сервера. (provider: Поставщик TCP, error: 0 - Указанное сетевое имя более недоступно.)

Помойму msdb не причём уже.
В dump
The error information has been submitted to Watson error reporting.

2012-12-05 14:31:39.47 spid153 Ошибка: 17065, серьезность: 16, состояние: 1.
2012-12-05 14:31:39.47 spid153 SQL Server Assertion: File: <tmpilb.cpp>, line = 2536 Failed Assertion = 'fFalse' Attempt to access expired blob handle (1). This error may be timing-related. If the error persists after rerunning the statement, use DBCC CHECKDB to check the database for structural integrity, or restart the server to ensure in-memory data structures are not corrupted.
2012-12-05 14:31:39.47 spid153 Ошибка: 3624, серьезность: 20, состояние: 1.
5 дек 12, 15:15    [13582019]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при DBCC CHECKDB БД msdb  [new]
Glory
Member

Откуда:
Сообщений: 104760
stavgreengo
Location: tmpilb.cpp:2536
Expression: fFalse
SPID: 95


stavgreengo
2012-12-05 14:31:39.47 spid153 Ошибка: 17065, серьезность: 16, состояние: 1.

А какая связь между ошибками в разных коннектах ?
5 дек 12, 16:05    [13582414]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при DBCC CHECKDB БД msdb  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
Glory
stavgreengo
пропущено...


stavgreengo
пропущено...

А какая связь между ошибками в разных коннектах ?

Как я понял связь в том что пользователь от которого запущен MS SQL(в моём случае ENERGOMERA\SQL) неможет корректно работать с MSDTC и COM-объектами в частности. Как я пришёл к такому выводу...перезагрузил MS SQL и смог отработать без проблем T-SQL код SP в менеджмент студии из под своего пользователя с правами администратора. Далее попробовал опять запустить SP из под пользователя ENERGOMERA\SQL, получил ошибку выполнения описанную в моём первом сообщении. Далее MS SQL начинает "колбасить" и он уже ни в какую ни хочет отрабатывать и ни под каким из пользователей и ни из T-SQL и ни из SP с ошибкой
Сообщение 64, уровень 20, состояние 0, строка 0
Ошибка на транспортном уровне при получении результатов с сервера. (provider: Поставщик TCP, error: 0 - Указанное сетевое имя более недоступно.)

А при попытки пересоздания job запускающего это SP из под пользователя ENERGOMERA\SQL получаю следующую ошибку(аттач). В тоже самое время успешно это делая из под своего пользователя.

В связи с этим вопрос: каким образом связанна учётная запись администратора домена из под которой запущен MS SQL и служба MSDTC с COM компонентами ? Куда копать дальше ? Что это за чертовщина и каким ладоном её вытравливать ? :)

К сообщению приложен файл. Размер - 39Kb
5 дек 12, 16:39    [13582778]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить