Ошибки 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 или сделать это под их руководством.