Ошибки TFS 2017.2 после обновления в хранилище данных, конфликты данных в отчетах

Мы установили новый TFS 2017.2 с новым сервером SQL 2016 и одной новой коллекцией. После перемещения старых коллекций TFS 2015.1 на этот новый сервер мы получили ошибки конфликта схем в отчетах TFS.

Большинство из них были конфликтами имен с именами языков локализации и могли быть решены с помощью команды "witadmin changefield". Однако последний конфликт с полем "System.IsDeleted" не может быть разрешен, потому что команда "witadmin listfields" не отображает это поле. Команда witadmin changefield сообщает: "TF26027: Определение поля System.IsDeleted в файле определения типа рабочего элемента не существует. Добавьте определение для этого поля или удалите ссылку на поле и повторите попытку ".

В базах данных сбора контента на новом сервере SQL я нашел таблицу dbo.tbl_Field со значением "System.IsDeleted" в столбце "ReferenceName" в одной строке. Эта строка имеет разные значения в столбце "Имя" в новой и старой коллекциях баз данных. Похоже, этот тип существует и имеет конфликт имен, аналогичный другим полям, но witadmin не перечисляет это поле, и я не думаю, что это хорошая идея - изменять значения непосредственно в SQL для TFS...

Некоторая идея, как это исправить? Заранее спасибо за помощь!

1 ответ

Решение

Определите, каким из следующих способов вы хотите разрешить конфликты схемы:

  • Измените атрибут для поля в одной коллекции проектов, чтобы он соответствовал назначениям, сделанным в других коллекциях проектов. Это действие следует выполнять, когда команды используют поле одинаково в аналогичных отчетах или для межпроектных отчетов.
  • Пересвойте отчетное ссылочное имя поля в конфликте. Вы должны выполнить это действие, когда поля используются по-разному, или вы должны поддерживать другое поле. В этом случае поле не используется командами, которые работают в разных коллекциях проектов для межпроектной отчетности.
  • Пометьте поле как не подлежащее отчетности для одной или нескольких коллекций. Это действие следует выполнять, когда поле не используется для отчетов об этих коллекциях проектов.
  • Удалите поле из коллекции командного проекта. Это действие следует выполнить, если поле не используется какими-либо командными проектами или отчетами.

Если вы хотите копаться в базе данных TFS и изменять данные. Вы можете обратиться за помощью в службу поддержки TFS или сделать это под их руководством.

Другие вопросы по тегам