2017-10-25 2 views
1

新しいSQL 2016 Serverと1つの新しいコレクションで新しいTFS 2017.2をインストールしました。古いTFS 2015.1コレクションをこの新しいサーバーに移動した後、TFSレポートでスキーマ競合エラーが発生しました。データウェアハウスでのアップグレード後のTFS 2017.2エラー、レポート内のデータの競合

ローカライゼーション言語名との名前の競合が多く、「witadmin changefield」コマンドで解決できる可能性があります。ただし、 "System.IsDeleted"フィールドとの最後の競合は解決できません。これは、 "witadmin listfields"コマンドがこのフィールドを一覧表示しないためです。 "witadmin changefield"コマンドで "TF26027:作業項目タイプ定義ファイルのフィールド定義System.IsDeletedが存在しません。このフィールドの定義を追加するか、フィールドへの参照を削除してもう一度やり直してください。 "

新しいSQLサーバーのコンテンツコレクションデータベースで、" System.IsDeleted "という値のテーブルdbo.tbl_Fieldが見つかりました。 1つの行に「ReferenceName」列があります。この行は、新しいコレクションデータベースと古いコレクションデータベースの「名前」列の値が異なります。だから、この型が存在し、他のフィールドと似たような名前の競合がありますが、witadminはこのフィールドをリストしていないので、TFS用に直接SQLで値を変更するのは良い考えだとは思わない...

いくつかのアイデアはこれを修正する方法?あなたの助けを前もってありがとう!

+0

倉庫を再建しましたか? –

+0

はい、クライアントのUIを使用し、次にWeb UI ProcessAnalysisDatabaseおよびProcessWarehouseを使用します。再構築後、私は他の矛盾が消えているのを見ることができましたが、 "System.IsDeleted"を持つこの唯一のものが残っています。 –

答えて

1

スキーマの競合を解決したい、次の方法のどちらで決定します。他のプロジェクトのコレクションで作られています 割り当てを一致させるための1つのプロジェクトコレクション内のフィールドの属性

  • 変更。 同様の方法でチームがフィールドを使用する場合は、 はこのアクションを実行する必要があります。
  • 競合しているフィールドのレファレンス参照名を再ラベル付けします。 フィールドが異なる方法で使用されている場合、または フィールドが異なるフィールドを使用する必要がある場合は、この操作を実行する必要があります。この場合、フィールドは のプロジェクト間レポートの異なるプロジェクトコレクションで作業するチームによって使用される ではありません。
  • フィールドを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に変更してください。 –

関連する問題