2017-10-25 11 views
1

에서 데이터 충돌 우리는 새로운 SQL 2016 서버와 하나 개의 새로운 컬렉션과 새로운 TFS 2017.2를 설치했습니다. 이전 TFS 2015.1 컬렉션을이 새 서버로 이동 한 후 TFS 보고서에서 스키마 충돌 오류가 발생했습니다.TFS 2017.2 오류 데이터웨어 하우스에서 업그레이드 한 후, 보고서

그들 중 대부분은 현지화 언어 이름을 가진 이름이 충돌했고, "witadmin의 changefield"명령으로 해결 될 수있다. 그러나 "witadmin listfields"명령이이 필드를 나열하지 않기 때문에 "System.IsDeleted"필드와의 마지막 충돌을 확인할 수 없습니다. "witadmin changefield"명령은 "TF26027 : 작업 항목 유형 정의 파일의 필드 정의 System.IsDeleted가 존재하지 않습니다. 이 필드에 대한 정의를 추가하거나 필드에 대한 참조를 제거하고 다시 시도하십시오. "

새 SQL Server의 콘텐트 수집 데이터베이스에서"System.IsDeleted "값의 테이블 dbo.tbl_Field를 발견했습니다" ReferenceName "열을 한 행에 표시합니다. 이 행은 신규 및 이전 수집 데이터베이스의 "이름"열에 다른 값을 갖습니다. 그래서이 유형이 존재하고 다른 필드와 비슷한 이름 충돌이 있지만 witadmin은이 필드를 나열하지 않으며 TFS 용으로 직접 값을 변경하는 것이 좋지 않다고 생각합니다.

어떤 생각을 어떻게 고쳐야합니까? 도와 주셔서 미리 감사드립니다.

+0

창고를 재건 했습니까? –

+0

예, 클라이언트 UI를 사용하고 Web UI ProcessAnalysisDatabase 및 ProcessWarehouse를 사용하십시오. 다시 작성한 후에는 다른 충돌이 사라지는 것을 볼 수 있었지만 "System.IsDeleted"가있는이 중 하나만 유지됩니다. –

답변

1

는 스키마 충돌을 해결하려면 다음과 같은 방법으로하는 결정 :

  • 변경 한 프로젝트 컬렉션에서 필드의 속성은 다른 프로젝트 컬렉션에 만들어진 할당을 일치 할 수 있습니다. 팀이 비슷한 방법으로 필드를 사용하는 경우 유사한 보고서 또는 프로젝트 간보고를 위해이 작업을 수행해야합니다.
  • 충돌하는 필드의보고 참조 이름의 레이블을 다시 지정하십시오. 필드가 다른 방법으로 사용되거나 필드가 다른 필드를 유지해야하는 경우이 작업을 수행해야합니다. 이 경우 프로젝트 간보고를 위해 다른 프로젝트 컬렉션에서 작업하는 팀에서 사용하는 필드가 이 아닙니다.
  • 필드를 하나 이상의 콜렉션에 대해보고 할 수없는 것으로 표시하십시오. 필드는 해당 프로젝트 컬렉션에 대한 에 대한 보고서에 필드를 사용하지 않을 때이 작업을 수행해야합니다.
  • 팀 프로젝트 컬렉션에서 필드를 제거하십시오. 팀 프로젝트 또는 보고서에서 필드를 사용하지 않는 경우 을 취해야합니다.

당신이 TFS 데이터베이스에 파고 데이터를 수정하려면. TFS support의 도움을 요청하거나 안내에 따라 도움을 청할 수 있습니다.

+0

SQL 데이터베이스를 파고 들지 않고 옵션 3을 실현하려면 어떻게해야합니까? Witadmin은이 필드를 표시하지 않으며 다른 도구를 모른다. 당신의 도움을 주셔서 감사합니다! –

+0

@PaulS. 죄송합니다.이 필드는 Witadmin 명령으로도 표시 할 수 없습니다. 'witadmin listfields/collection : http : // xxx/tfs/DefaultCollection/n : System.IsDeleted'를 사용할 때와 같은 결과를 얻었습니다. 그런데 Witadmin 명령으로 모든 필드를 관리 할 수있는 것은 아닙니다. witadmin 명령 행 도구를 사용하여 ** 시스템 필드 **를 제외한 필드의 필드 이름, 색인 및 보고서 속성을 변경할 수 있습니다. TFS에서이 [관련 정보] (https://docs.microsoft.com/en-us/vsts/work/work-items/guidance/work-item-field#related-notes)를 살펴볼 수 있습니다. –

+0

@PaulS. 갈등을 해결하려면 SQL 데이터베이스를 다루어야합니다. 이름 또는 "IsReportingEnable"열을 변경하십시오. 옵션을 실현하려면 기본값 1에서 0으로 값을 변경하십시오. –