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

Откуда:
Сообщений: 64
прошу помочь
есть база, на данный момент она работает, проверил чекдб, выдало кучу ошибок, взял самый исторический бэкап месячной давности, на нем таже беда, что посоветуете?

dbcc checkdb
выдал результат - вот часть.
+
Msg 8905, Level 16, State 1, Line 1
Extent (1:6264848) in database ID 12 is marked allocated in the GAM, but no SGAM or IAM has allocated it.
Msg 8905, Level 16, State 1, Line 1
Extent (1:6264856) in database ID 12 is marked allocated in the GAM, but no SGAM or IAM has allocated it.

Msg 8977, Level 16, State 1, Line 1
Table error: Object ID 1252563896, index ID 4, partition ID 72057599258329088, alloc unit ID 72057599299616768 (type In-row data). Parent node for page (1:6261053) was not encountered.
Msg 8935, Level 16, State 1, Line 1
Table error: Object ID 1252563896, index ID 4, partition ID 72057599258329088, alloc unit ID 72057599299616768 (type In-row data). The previous link (1:6261053) on page (1:18509054) does not match the previous page (1:18509053) that the parent (1:22546560), slot 11 expects for this page.
Msg 8951, Level 16, State 1, Line 1
Table error: table '_AccumRg37121' (ID 1252563896). Data row does not have a matching index row in the index '_Accum37121_ByDims37136_RTRN' (ID 7). Possible missing or invalid keys for the index row matching:
Msg 8955, Level 16, State 1, Line 1
Data row (1:4623581:8) identified by (_Period = '4017-08-21 00:05:56.000' and _RecorderTRef = 0x0000029E and _RecorderRRef = 0x8FF1005056B6F20511E7844C44C66318 and _LineNo = 37.) with index values '_Fld37126RRef = 0xB2C8ED89B0DC904E4A27502308421D76 and _Period = '4017-08-21 00:05:56.000' and _RecorderTRef = 0x0000029E and _RecorderRRef = 0x8FF1005056B6F20511E7844C44C66318 and _LineNo = 37.'.
Msg 8951, Level 16, State 1, Line 1
Table error: table '_AccumRg37121' (ID 1252563896). Data row does not have a matching index row in the index '_Accum37121_ByDims37136_RTRN' (ID 7). Possible missing or invalid keys for the index row matching:
Msg 8955, Level 16, State 1, Line 1
Data row (1:4623581:9) identified by (_Period = '4017-08-21 00:05:56.000' and _RecorderTRef = 0x0000029E and _RecorderRRef = 0x8FF1005056B6F20511E7844C44C66318 and _LineNo = 38.) with index values '_Fld37126RRef = 0xB2C8ED89B0DC904E4A27502308421D76 and _Period = '4017-08-21 00:05:56.000' and _RecorderTRef = 0x0000029E and _RecorderRRef = 0x8FF1005056B6F20511E7844C44C66318 and _LineNo = 38.'.
Msg 8951, Level 16, State 1, Line 1
Table error: table '_AccumRg37121' (ID 1252563896). Data row does not have a matching index row in the index '_Accum37121_ByDims37136_RTRN' (ID 7). Possible missing or invalid keys for the index row matching:
Msg 8955, Level 16, State 1, Line 1
13 сен 17, 20:50    [20793959]     Ответить | Цитировать Сообщить модератору
 Re: checkdb сыпет ошибками, что делать?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36965
Делать новую базу и перетягивать все данные, что есть. Постом сделать dbcc checkdb + repair_allow_data_loss и попробовать вытянуть что-нибудь еще.
13 сен 17, 20:59    [20793971]     Ответить | Цитировать Сообщить модератору
 Re: checkdb сыпет ошибками, что делать?  [new]
odisssey
Member

Откуда:
Сообщений: 64
есть какойто быстрый способ перетянуть все данные?
база примерно на 400гб, сотни таблиц.

кстати, делаю селект на таблицы которые показаны в ошибках - отрабатывает нормально.
13 сен 17, 21:14    [20793995]     Ответить | Цитировать Сообщить модератору
 Re: checkdb сыпет ошибками, что делать?  [new]
komrad
Member

Откуда:
Сообщений: 5244
odisssey
кстати, делаю селект на таблицы которые показаны в ошибках - отрабатывает нормально.


на копии базы попробуйте пересоздать все некластерные индексы
и проверить базу снова
13 сен 17, 21:30    [20794015]     Ответить | Цитировать Сообщить модератору
 Re: checkdb сыпет ошибками, что делать?  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1364
odisssey,

в целом он у вас ругается на некластеризованный индекс _Accum37121_ByDims37136_RTRN, можете попробовать дропнуть его и создать заново на таблице.

хуже вот это:
Msg 8905, Level 16, State 1, Line 1
Extent (1:6264848) in database ID 12 is marked allocated in the GAM, but no SGAM or IAM has allocated it.
Msg 8905, Level 16, State 1, Line 1
Extent (1:6264856) in database ID 12 is marked allocated in the GAM, but no SGAM or IAM has allocated it.

что еще пишет checkdb в таком варианте:
DBCC CHECKDB (<Database Name>) WITH NO_INFOMSGS, ALL_ERRORMSGS
13 сен 17, 21:42    [20794027]     Ответить | Цитировать Сообщить модератору
 Re: checkdb сыпет ошибками, что делать?  [new]
max44
Member

Откуда: МОСКВА
Сообщений: 273
To odisssey

Судя по названию таблица у вас база 1С. Попробуйте восстановить свежий бэкап в тестовую БД, потом конфигуратором 1С выгрузите данные в dt, восстановите данные из dt файла в тестовую БД (замерьте время сколько у вас заняли эти операции)
Проверьте тестовую БД еще раз dbcc checkdb. Потестируйте БД на работоспособность с помощью 1с клиента.

Если все ОК, то в подходящее по времени (смотри замер времени на тестовой БД) в свободное технологическое окно выгрузите загрузите Конфигуратором данный в рабочую БД.

Конфигуратор 1с при выгрузке в dt файл сохраняет описание таблиц индексов и т.п. + данные в текстовом виде, а потом при восстановлении создает таблицы индексы и т.п. и заливает в них данные.

Бэкап Конфигуратором 1с разительно отличается от бэкапа сделанным средствами SQL
14 сен 17, 06:50    [20794332]     Ответить | Цитировать Сообщить модератору
 Re: checkdb сыпет ошибками, что делать?  [new]
odisssey
Member

Откуда:
Сообщений: 64
felix_ff,
приаттачил файл.

К сообщению приложен файл (report_.7z - 10Kb) cкачать
14 сен 17, 07:35    [20794372]     Ответить | Цитировать Сообщить модератору
 Re: checkdb сыпет ошибками, что делать?  [new]
odisssey
Member

Откуда:
Сообщений: 64
max44
To odisssey

Конфигуратор 1с при выгрузке в dt файл сохраняет описание таблиц индексов и т.п. + данные в текстовом виде, а потом при восстановлении создает таблицы индексы и т.п. и заливает в них данные.

Бэкап Конфигуратором 1с разительно отличается от бэкапа сделанным средствами SQL


Точно! выгрузить в ДТшник и обратно. Спасибо! сейчас попробую.

Но хотелось бы и другое решение знать, еслиб это не была база 1с.
14 сен 17, 07:38    [20794374]     Ответить | Цитировать Сообщить модератору
 Re: checkdb сыпет ошибками, что делать?  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
odisssey
Но хотелось бы и другое решение знать, еслиб это не была база 1с.
Импорт/Экспорт. Но будет много нюансов.
14 сен 17, 09:39    [20794588]     Ответить | Цитировать Сообщить модератору
 Re: checkdb сыпет ошибками, что делать?  [new]
max44
Member

Откуда: МОСКВА
Сообщений: 273
To: odisssey

Забыл уточнить еще такой нюанс, если в БД 1с добавлялись объекты не с помощью Конфигуратора 1С, а в "ручном режиме"
например: добавили свои таблицы, хранимые процедуры, индексы, представления функци ...
То скорей всего выгрузка средствами 1с эти объекты не "заскриптует" Я этого утверждать 100% не могу (не проверял на практике), но скорей всего это будет так, и тогда нужно будет в ручную заскриптовать эти объекты и перенести данные.

Если же с базой работали исключительно через Конфигуратор 1с, то проблем с выгрузкой в dt быть не должно.
14 сен 17, 09:56    [20794623]     Ответить | Цитировать Сообщить модератору
 Re: checkdb сыпет ошибками, что делать?  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1364
odisssey
felix_ff,
приаттачил файл.


Мда, там все довольно печально.
Самое время вспомнить о бэкапах.

Возможные варианты Вам предложил Гавриленко и max44.
Вобщем Вам предстоит много ручной работы
14 сен 17, 12:23    [20795217]     Ответить | Цитировать Сообщить модератору
 Re: checkdb сыпет ошибками, что делать?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3708
felix_ff
odisssey
felix_ff,
приаттачил файл.


Мда, там все довольно печально.
Самое время вспомнить о бэкапах.

Возможные варианты Вам предложил Гавриленко и max44.
Вобщем Вам предстоит много ручной работы


И еще ТС пишет "на данный момент она работает, " - надо остановить всякую работу на ней.
14 сен 17, 12:38    [20795270]     Ответить | Цитировать Сообщить модератору
 Re: checkdb сыпет ошибками, что делать?  [new]
odisssey
Member

Откуда:
Сообщений: 64
всем спасибо.

полечил
DBCC CHECKDB (BD, REPAIR_REBUILD)

оно что то поправило и потом два раза
DBCC CHECKDB (BD, REPAIR_ALLOW_DATA_LOSS)

не понятно почему не пролечило с первого раза...

проверил с начало на тестовой БД бухгалтерия подтвердила что все ок.
15 сен 17, 12:39    [20798519]     Ответить | Цитировать Сообщить модератору
 Re: checkdb сыпет ошибками, что делать?  [new]
p-сервер
Member [заблокирован]

Откуда:
Сообщений: 41
odisssey
всем спасибо.

полечил
DBCC CHECKDB (BD, REPAIR_REBUILD)

оно что то поправило и потом два раза
DBCC CHECKDB (BD, REPAIR_ALLOW_DATA_LOSS)

не понятно почему не пролечило с первого раза...

проверил с начало на тестовой БД бухгалтерия подтвердила что все ок.



все ок за сегодняшний день?

но есть вероятность что дебет с кредитом у них не сойдется...
15 сен 17, 12:46    [20798533]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить