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

Откуда: г. Калуга
Сообщений: 1177
Ситуация такая. я опыта по восстановлению поломанных БД не имею, к тому же в отпуске, поэтому все нижесказанное со слов техподдержки, собственными глазами не видел, мне присылали по ватсапу какие-то сведения.
Клиент прислал базу. При её присоединении к серверу в лог каждые 10 минут сбрасывается дам памяти с какой-то ошибкой(ошибку мне сообщили по телефону, к вечеру из головы вылетела :( )
Техподдержка попробовала сделать Repair_Reduild, получила на нескольких таблицах "Выполнение инструкции Create Unique index прервано поскольку обнаружен повторяющийся ключ...." Что интересно, при одном запуске CheckDB ругается на одни таблицы, при другом на другие.
просто запуск DBCC CHECKDB ('myDB') дал такую инфу
Сообщение 8978, уровень 16, состояние 1, строка 1
Ошибка в таблице. Идентификатор объекта 565577053, идентификатор индекса 2, идентификатор секции 72057594377469952, идентификатор единицы распределения 72057594383499264 (тип In-row data). На страницу (1:778) отсутствует ссылка с предыдущей страницы (1:57641). Возможна ошибка связывания цепочек.
Сообщение 8933, уровень 16, состояние 1, строка 1
Ошибка в таблице. Идентификатор объекта 565577053, идентификатор индекса 1, идентификатор секции 72057594253737984, идентификатор единицы распределения 72057594258587648 (тип In-row data). Нижнее значение ключа на странице (1:30408) (уровень 0) меньше значения ключа в родительском объекте (1:27815), слот 109.


проверили данные в проблемных таблицах - там действительно некоторые записи полностью(все поля одинаковые) задублились, причем и старые записи, полугодовой давности, когда с базой было все в порядке.

Извиняюсь за скудность и обрывчатость информации, но вот что есть пока.
Куда бечь, что делать? Отдельный вопрос, как могли задублиться записи? Спасибо
5 дек 18, 23:41    [21755134]     Ответить | Цитировать Сообщить модератору
 Re: С базой фигня какая-то  [new]
Yasha123
Member

Откуда:
Сообщений: 1148
minva
проверили данные в проблемных таблицах - там действительно некоторые записи полностью(все поля одинаковые) задублились, причем и старые записи, полугодовой давности, когда с базой было все в порядке.

Извиняюсь за скудность и обрывчатость информации, но вот что есть пока.
Куда бечь, что делать? Отдельный вопрос, как могли задублиться записи? Спасибо

ну индексы с ид 2 и более дропнуть и заново создать.
с ид 1 вам не повезло: тут уже только repair_allow_data_loss,
соответственно, с data loss.

восстанавливайте из бэкапа копию рядом с основной базой,
сравните, что пропало, может, удастся перелить из восстановленной
(данные полугодовой давности почему бы и нет)
---
как задублировалось?
ну, по идее, если был сплит страницы,
половина данных должна остаться на прежней странице и половина переезжает на новую.
вот если на новую уже данные переехали, а на старой их еще не отметили как неиспользуемые,
то вот вам и дублирование.
другое дело, что это не должно произойти по причине write ahead logging,
сплиты же логируются.
вот если еще при этом память крякнула и данные в лог легли из покореженной памяти,
при рекавери из лога прочиталась бурда и в таблице теперь вместо 2 страниц, заполненных наполовину,
имеем 1 + 1/2 идентичные по содержанию.

хотя это какой-то теоретический фантастиш, а не версия.
может, кто получше предложит
6 дек 18, 00:22    [21755168]     Ответить | Цитировать Сообщить модератору
 Re: С базой фигня какая-то  [new]
Владислав Колосов
Member

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

диск, что ли посыпался.
6 дек 18, 11:52    [21755590]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить