MS SQL Ошибки согласованности исправлений сервера в базе данных TFS 2017 для индекса plan_persist_runtime_stats_cidx - PullRequest
0 голосов
/ 04 февраля 2020

У нас установлен экземпляр TFS 2017, который сообщает о некоторых ошибках согласованности в одной из наших баз данных TFS Collection, и у нас возникают проблемы при попытке его исправить.

Первая строка в нашем журнале ошибок читается как следует ...

Сообщение 2511, уровень 16, состояние 1, строка 3 Ошибка таблицы: идентификатор объекта 213575799, идентификатор индекса 1, идентификатор раздела 72057594040942592, алло c идентификатор устройства 72057594046513152 (тип In- Данные ряда). Ключи вышли из строя на странице (1: 12799), слоты 28 и 29.

Запустив следующую команду, я обнаружил, что рассматриваемая таблица "plan_persists_runtime_stats"

select * from sysobjects where id = 213575799

Пока я гуглил, я нашел страницу, которая предположила, что это может быть поврежденный индекс, и в посте предлагалось запустить следующее, чтобы найти имя индекса ...

select name from sysindexes where id=213575799 and indid=1

Я обнаружил, что появляется идентификатор объекта быть индексом "plan_persists_runtime_stats_cidx"

Чтобы проверить, что некоторая информация, которую я нашел с помощью этих сценариев, я запустил следующее ...

SELECT * FROM sys.indexes WHERE name = 'plan_persist_runtime_stats_cidx'

, которое дало мне идентификатор объекта " 213575799 ", соответствует указанному идентификатору объекта.

Затем я запустил следующее, чтобы попытаться проверить имя таблицы ...

Select * from sys.tables where object_id = '213575799'

Это вернуло 0 строк, что я нахожу странным, но принять это может быть не так странно, как я нахожу это. Я был бы более чем счастлив получить любую информацию по этому вопросу.

Тем не менее, я все равно выполнил следующее, чтобы проверить таблицу ...

DBCC CHECKTABLE ('sys.plan_persist_runtime_stats');  

Это вернуло мой список ошибок. (первая строка которого показана выше).

Но, когда я запустил следующее, SQL дал следующее сообщение?

DBCC DBREINDEX ('sys.plan_persist_runtime_stats');

Не удается найти таблицу или объект с именем "sys.plan_persist_runtime_stats". Проверьте системный каталог.

Кто-нибудь знает, как правильно перестроить индекс, который сообщает о моих ошибках, так как я, кажется, сейчас попал в кирпичную стену? Всего 70 ошибок, и все они относятся к одному и тому же объекту таблицы 213575799.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...