Сбой выполнения запроса "DBCC CHECKDB(N'Buh2') WITH NO_INFOMSGS
" со следующей ошибкой: "Ошибка в таблице. Идентификатор объекта 1147151132, идентификатор индекса 6, идентификатор секции 72058313950232576, идентификатор единицы распределения 72058369575026688 (тип In-row data). Нижнее значение ключа на странице (1:154545) (уровень 0) меньше значения ключа в родительском объекте (1:154496), слот 52.
Ошибка в таблице. Идентификатор объекта 1147151132, идентификатор индекса 6, идентификатор секции 72058313950232576, идентификатор единицы распределения 72058369575026688 (тип In-row data). Верхнее значение ключа на странице (1:154544)

CHECKDB обнаружил 0 ошибок размещения и 130 ошибок согласованности в таблице "_Reference147" (идентификатор объекта 1147151132).

CHECKDB обнаружил 0 ошибок размещения и 130 ошибок согласованности в базе данных "Buh2".

repair_rebuild - это минимальный уровень исправления для ошибок, найденных DBCC CHECKDB (Buh2).". Возможные причины сбоя: проблемы с этим запросом, свойство "ResultSet" установлено неправильно, параметры установлены неправильно или соединение было установлено неправильно.

Переходим в SQL Server Management Studio и, сделав, на всякий случай, бэкап текущего состояния, выполняем проверку:

Для начала переводим нужную нам БД в однопользовательский режим

Запускаем Окно запросов (CTRL+N). Выбираем Новый запрос и вводим запрос Transact-SQL (T-SQL) в этом окне:

ALTER DATABASE Buh2
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE

Сканируем базу на ошибки:

USE [Buh2]
DBCC CHECKDB(N'Buh2')

Есть 2 варианта решения:

  1. Восстановиться из копии базы до ошибки
  2. Тестировать базу и исправлять ошибки. Есть 3 варианта:

REPAIR_FAST

Синтаксис поддерживается только для обеспечения обратной совместимости. Действия по восстановлению не выполняются.

REPAIR_REBUILD

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

REPAIR_ALLOW_DATA_LOSS

Пытается устранить все обнаруженные ошибки. Эти исправления могут привести к частичной потере данных.

Первый и второй вариант в нашем случае не помогло. Пробуем последний вариант:

USE [Buh2]
DBCC CHECKDB(N'Buh2', REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS

Возвращаем базу в многопользовательский режим

ALTER DATABASE MKVerumBuh2
SET MULTI_USER

На всякий случай тестируем базу в режиме конфигуратора.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Запущено направление DIGITAL WEB!

Поддержка и продвижение сайтов.

Любая платформа. Гибкие условия.

Узнать подробнее