Size: a a a

SqlCom.ru - Стиль жизни SQL

2020 August 26

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Andrew U.
я ВООБЩЕ не программист
Ну ок ну обратись ты к коллегам-админам, помогут
источник

AS

Aleksey S. in SqlCom.ru - Стиль жизни SQL
Это вот совсем не лечится, если не рестором из бекапа?

Msg 8992, Level 16, State 1, Line 5
Проверьте сообщение каталога 3853, состояние 1: Атрибут (object_id=2086675623) строки (object_id=2086675623,index_id=0) в sys.indexes не имеет совпадающей строки (object_id=2086675623) в sys.objects.

MS пишет, что тут:
- либо рестор из бекапа
- либо перенос данных в новую БД ручками

Версия Стандарт 2016, не энтерпрайз
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Aleksey S.
Это вот совсем не лечится, если не рестором из бекапа?

Msg 8992, Level 16, State 1, Line 5
Проверьте сообщение каталога 3853, состояние 1: Атрибут (object_id=2086675623) строки (object_id=2086675623,index_id=0) в sys.indexes не имеет совпадающей строки (object_id=2086675623) в sys.objects.

MS пишет, что тут:
- либо рестор из бекапа
- либо перенос данных в новую БД ручками

Версия Стандарт 2016, не энтерпрайз
Это системный каталог полетел в космос, сломался.
Рестор из бэкапа только.
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Естественно, с потерей части данных.
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
(либо переход на stand-by, если есть таковой)
источник

AS

Aleksey S. in SqlCom.ru - Стиль жизни SQL
а читать про Dedicated Admin Connection не имеет смысла?
там вроде можно ручками править системные таблицы через него
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Ну так можно править, но что толку -то?
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Aleksey S.
Это вот совсем не лечится, если не рестором из бекапа?

Msg 8992, Level 16, State 1, Line 5
Проверьте сообщение каталога 3853, состояние 1: Атрибут (object_id=2086675623) строки (object_id=2086675623,index_id=0) в sys.indexes не имеет совпадающей строки (object_id=2086675623) в sys.objects.

MS пишет, что тут:
- либо рестор из бекапа
- либо перенос данных в новую БД ручками

Версия Стандарт 2016, не энтерпрайз
так давай ещё раз подумаем...
источник

AS

Aleksey S. in SqlCom.ru - Стиль жизни SQL
удалить строку из sys.indexes, которая не совпадает с sys.objects )
если DAC вообще есть в 2016 standard
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Атрибут (object_id=2086675623) строки (object_id=2086675623,index_id=0) в sys.indexes не имеет совпадающей строки (object_id=2086675623) в sys.objects.

-- это значит, что в sysindex есть строка об индексе (в данном случае о таблице самой) НО таблицы такой не существует.
То есть ЛИБО ты её потерял в sys.objects, либо какая-то транзакция прошла неполностью, и таблицу ты дропнул, а sysindex от неё остался. Да, удалить эту запись из sysindex можно, НО! что это была за таблица?
Ты знаешь? варианта два -- это какая-то левая временная таблица, например, старый вариант изменённой, либо это -- какая-то таблица с данными. Проверь свои таблицы, все ли на месте, если да -- можно удалить запись в sysindex и успокоиться.

(я бы сделал логический  бэкап и поднял его в другую, чистую БД созданную с нуля, тут же, чтобы убрать эти ошибки навсегда).

А вот если у тебя не хватает одной таблицы -- то опаньки...
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Aleksey S.
удалить строку из sys.indexes, которая не совпадает с sys.objects )
если DAC вообще есть в 2016 standard
^
источник

AS

Aleksey S. in SqlCom.ru - Стиль жизни SQL
все мои таблицы на месте, БД отлично работает =\
поэтому и не сразу заметили после миграции
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Aleksey S.
все мои таблицы на месте, БД отлично работает =\
поэтому и не сразу заметили после миграции
Ну , значит повезло. Я б всё ж бэкап бы сделал ...
источник

AS

Aleksey S. in SqlCom.ru - Стиль жизни SQL
у меня бекап не проходит с этой штукой )
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Aleksey S.
все мои таблицы на месте, БД отлично работает =\
поэтому и не сразу заметили после миграции
Тогда наверняка есть какой-то DBCC который это может полечить (удалить индекс)
источник

AS

Aleksey S. in SqlCom.ru - Стиль жизни SQL
гугл говорит, что даже REPAIR_ALLOW_DATA_LOSS такое не лечит
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Aleksey S.
у меня бекап не проходит с этой штукой )
Делай логически бэкап, BCP out. Физический мало смысла делать -- ошибка в нём сохранится.
источник

AS

Aleksey S. in SqlCom.ru - Стиль жизни SQL
я его уже два раза прогонял
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Aleksey S.
я его уже два раза прогонял
Ну , как дропать запись из sysindex в MSSQLServer современном, я тебе к сож не скажу, не знаю.
источник

AS

Aleksey S. in SqlCom.ru - Стиль жизни SQL
источник