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

Откуда:
Сообщений: 17
Помогите пожалуйста. После ночных джобов на одной базе данных операция checkdb and rebuild index завершается ошибкой и база переходит в режим single user. Остальные базы на том же сервере работают нормально. Лог во вложении.

К сообщению приложен файл (1111.log - 6Kb) cкачать
1 дек 15, 18:25    [18498980]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Асланбек,

Делать checkdb руками, находить попорченные индексы, удалять пересоздавать, если не поможет то скальпель repar_allow_data_loss включать.
1 дек 15, 18:55    [18499158]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
Асланбек
Member

Откуда:
Сообщений: 17
Вот ошибки которые выдала проверка
DBCC results for 'sys.sysobjvalues'.
Msg 8929, Level 16, State 1, Line 1
Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 281474980642816 (type In-row data): Errors found in off-row data with ID 145620992 owned by data record identified by RID = (1:7882:0)
Msg 8929, Level 16, State 1, Line 1
Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 281474980642816 (type In-row data): Errors found in off-row data with ID 123666432 owned by data record identified by RID = (1:7883:0)
Msg 8929, Level 16, State 1, Line 1
Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 281474980642816 (type In-row data): Errors found in off-row data with ID 1178009600 owned by data record identified by RID = (1:8355:0)
Msg 8964, Level 16, State 1, Line 1
Table error: Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 71776119065149440 (type LOB data). The off-row data node at page (1:680), slot 0, text ID 1453195264 is not referenced.
Msg 8961, Level 16, State 1, Line 1
Table error: Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 71776119065149440 (type LOB data). The off-row data node at page (1:14104), slot 0, text ID 1178009600 does not match its reference from page (1:7882), slot 0.
Msg 8974, Level 16, State 1, Line 1
Table error: Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 71776119065149440 (type LOB data). The off-row data node at page (1:14104), slot 0, text ID 1178009600 is pointed to by page (1:8355), slot 0 and by page (1:7882), slot 0.
Msg 8964, Level 16, State 1, Line 1
Table error: Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 71776119065149440 (type LOB data). The off-row data node at page (1:14271), slot 4, text ID 1453195264 is not referenced.
Msg 8961, Level 16, State 1, Line 1
Table error: Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 71776119065149440 (type LOB data). The off-row data node at page (1:19082), slot 6, text ID 123666432 does not match its reference from page (1:7882), slot 0.
Msg 8974, Level 16, State 1, Line 1
Table error: Object ID 60, index ID 1, partition ID 281474980642816, alloc unit ID 71776119065149440 (type LOB data). The off-row data node at page (1:19082), slot 6, text ID 123666432 is pointed to by page (1:7882), slot 0 and by page (1:7883), slot 0.
2 дек 15, 11:29    [18501770]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
icprog
Member

Откуда:
Сообщений: 166
Асланбек,

Лучше восстановить БД из бэкапа
2 дек 15, 11:55    [18501951]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Асланбек,

Восстанавливайтесь из бекапа, это не лечится.
2 дек 15, 11:58    [18501977]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
Асланбек
Member

Откуда:
Сообщений: 17
Спасибо!
2 дек 15, 12:23    [18502147]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
Асланбек
Member

Откуда:
Сообщений: 17
Бекапы делаются на неделю, а проблема видимо возникла еще раньше. Но есть совсем уж старый бекап, сделанный пару месяцев назад, есть ли возможность восстановить лишь поврежденные данные из старой копии?
2 дек 15, 13:01    [18502399]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
Pavel1211
Member

Откуда: Екатеринбург
Сообщений: 205
Асланбек,

https://msdn.microsoft.com/en-us/library/ms175168(v=sql.120).aspx

Вероятно поможет
2 дек 15, 14:07    [18502946]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
o-o
Guest
Pavel1211,

да вряд ли.
для Page Restore модель должна быть полная.
а судя по "Бекапы делаются на неделю"
данные товарищам не сильно нужны
2 дек 15, 14:13    [18503002]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
Glory
Member

Откуда:
Сообщений: 104751
Асланбек
Бекапы делаются на неделю, а проблема видимо возникла еще раньше. Но есть совсем уж старый бекап, сделанный пару месяцев назад, есть ли возможность восстановить лишь поврежденные данные из старой копии?

Пробуйте выгрузить все объекты к другую базу или в сценарий создания с данными
2 дек 15, 14:18    [18503039]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
Асланбек
Member

Откуда:
Сообщений: 17
o-o,

На неделю имеется ввиду что баз очень много и резервные копии занимают много места, поэтому копии старше недели удаляются. Сама ошибка была замечена недавно, при попытке сформировать отчет в программе которая использует базу. Обычные ежедневные операции в программе выполняются нормально. И видимо восстановить не отдельно таблицы не удастся, так как используется simple модель восстановления(
2 дек 15, 15:09    [18503444]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
o-o
Guest
Асланбек
o-o,

На неделю имеется ввиду что баз очень много и резервные копии занимают много места, поэтому копии старше недели удаляются. Сама ошибка была замечена недавно, при попытке сформировать отчет в программе которая использует базу. Обычные ежедневные операции в программе выполняются нормально. И видимо восстановить не отдельно таблицы не удастся, так как используется simple модель восстановления(

так вот я как раз про это.
кому жалко места под полные бэкапы недельной давности,
не разорится на хранение еще и бэкапов лога.
---
а теперь скажите: вы и dbcc checkdb делаете раз в неделю, да?
и что получается:
если в понедельник вы обнаруживаете ошибки dbcc checkdb,
отработавшей в это воскресенье,
то бэкапа за прошлoе воскресенье,
когда dbcc checkdb еще не давала ошибок, уже нет,
т.к. от нынешнего понедельника до прошлого воскресенья больше недели.
и тогда в чем смысл всего этого?
2 дек 15, 15:24    [18503553]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
Асланбек
Member

Откуда:
Сообщений: 17
o-o,

Нет,и проверка и резервная копия делаются каждый день. Но джобы настраивал не я. Администратор, который обслуживал сервер уволился. Нового еще не наняли. Приходится пока обходится своими силами. Ошибки видимо еще раньше выдавал, но никто не следил за отчетом, просто база переходила в single user, ее вручную переводили в multi user и продолжали работать. Но когда у пользователей возникла проблема с расчетом форм в программе, тогда и спохватились. В общем решил откатить до старой базы, придется пользователю занести пару месяцев заново. Спасибо за помощь!
2 дек 15, 19:51    [18504861]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
Асланбек
Member

Откуда:
Сообщений: 17
Интересно, а можно ли сделать так: перевести базу в режим восстановления full, сделать бекап, далее восстановить базу из старой копии, опять перевести в full, восстановить все таблицы из новой копии кроме поврежденных.
3 дек 15, 00:28    [18505600]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
Glory
Member

Откуда:
Сообщений: 104751
Асланбек
Интересно, а можно ли сделать так: перевести базу в режим восстановления full, сделать бекап, далее восстановить базу из старой копии, опять перевести в full, восстановить все таблицы из новой копии кроме поврежденных.

А каким образом модель восстановления влияет на возможность восстановления полного бэкапа ?
3 дек 15, 09:58    [18506212]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
Асланбек
Member

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

Подумал может поможет восстановление не всей базы, а лишь поврежденной части.
3 дек 15, 10:16    [18506350]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
Glory
Member

Откуда:
Сообщений: 104751
Асланбек
Подумал может поможет восстановление не всей базы, а лишь поврежденной части.

Почитайте в хелпе синтаксис команды RESTORE
Там четко написано, что и как можно восстановить.
3 дек 15, 10:22    [18506403]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
o-o
Guest
Асланбек
Подумал может поможет восстановление не всей базы, а лишь поврежденной части.

Для Page Restore база должна быть в полной модели
не ровно в тот момент, когда вы собрались страницы восстановить, а как минимум с того момента, когда вы сделали полный бэкап, из которого собираетесь начать восстановление.
Нужен тот полный бэкап и вся цепочка логов до настоящего момента.
Т. е. если вы сейчас и переведете базу в full, недостающие бэкапы лога ниоткуда не возьмутся
3 дек 15, 10:40    [18506534]     Ответить | Цитировать Сообщить модератору
 Re: Проверка базы данных завершается ошибкой - SQL Server  [new]
pXn
Member

Откуда: Косопузая
Сообщений: 45
1. Развернуть "живой" бэкап рядом с поврежденной БД.
2. Перелить/долить в нее доступные данные из поврежденной.
3. Удалить поврежденную.
4. Переименовать новую БД как надо.
3 дек 15, 12:04    [18507285]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить