次の方法で共有


TFS データ ウェアハウスとキューブのリビルド

Team Foundation Server (TFS) で使用するデータ層サーバーの移動、復元、名前の変更、またはフェールオーバーを実行するたびに、データ ウェアハウスおよびキューブをリビルドして高レベルなレポートにアクセスする必要があります。 また、チーム プロジェクト コレクションを移動、アタッチ、デタッチ、または削除する場合は、ウェアハウスとキューブをリビルドする必要があります。

データ ウェアハウスは、バージョン管理、作業項目、追跡、ビルド、およびテストなどのすべての操作データを集約します。 ウェアハウスはリレーショナル データベース (Tfs_Warehouse) に、キューブは SQL Server Analysis Services データベース (Tfs_Analysis) に対応します。

通常の操作中にデータ ウェアハウスをリビルドする必要はありません。 データ ウェアハウスのデータを更新する場合は、必要に応じてウェアハウスとキューブを手動で処理します。 「TFS データ ウェアハウスと Analysis Services キューブの手動処理」を参照してください。 データ ウェアハウスのデータ量によってはリビルド操作を完了するのに数時間かかる場合があります。この間、時間レポートは使用できません。

Team Foundation のデータ ウェアハウスをリビルドするには、次の一連の手順を実行する必要があります。

  1. サービスとアプリケーション プールが実行されていること、および SQL Server で TCP/IP が有効になっていることを確認する

  2. データ ウェアハウスのリビルド

  3. レポートにアクセスできることを確認する

要件

次のセキュリティ グループのメンバーであるか、または対応するアクセス許可が付与されている必要があります。

  • Team Foundation Server のデータベースをホストする SQL Server のインスタンスを実行しているサーバー上の sysadmin セキュリティ グループ

  • sysadmin の Analysis Services データベースのサーバー上のセキュリティ グループTeam Foundation

  • Tfs_Warehouse リレーショナル データベースおよび TFSEXECROLE データベース ロール

  • Team Foundation の管理コンソールを実行しているサーバー上の Team Foundation Administrators セキュリティ グループと管理者セキュリティ グループ

  • サーバー レベル Administer warehouse のアクセス許可を Allow に設定する必要があります

  • レポートを実行して表示するには、チーム プロジェクトの [プロジェクトレベル情報を表示します] のアクセス許可を [許可] に設定する必要があります。 また、SQL Server Reporting Services の閲覧者ロールのメンバーである必要があります

詳細については、「アカウントを追加して TFS を管理」を参照してください。

これらのアクセス許可に加えて、Windows Server 2008 または Windows Vista を実行しているコンピューターで次の要件を満たすようにすることが必要な場合があります。

  • コマンド ラインの手順を実行するには、管理者特権でコマンド プロンプトを開くことが必要になる場合があります。その場合は、[スタート] ボタンをクリックし、[コマンド プロンプト] のコンテキスト メニューを開き、[管理者として実行] をクリックします。

  • Internet Explorer を必要とする手順を実行するには、Internet Explorer を管理者として起動することが必要になる場合があります。その場合は、[スタート][すべてのプログラム] を選び、[Internet Explorer] のコンテキスト メニューを開いて [管理者として実行] をクリックします。

  • Reporting Services のレポート マネージャー、レポート、または Web サイトにアクセスするには、これらのサイトを Internet Explorer の信頼済みサイトの一覧に追加するか、管理者として Internet Explorer を開始することが必要になる場合があります。

詳細については、「ユーザー アカウント制御」を参照してください。

リビルド操作を行うと、リレーショナル データベースとキューブの両方が再作成されます。 TFS によって、運営データ ストアからリレーショナル データベースがリビルドされます。 次に、SQL Server Analysis Services キューブが再作成され、キューブにリレーショナル データベースのデータが読み込まれます。 キューブのみをリビルドする場合は、TFSConfig RebuildWarehouse コマンド ライン ツールを使用できます。 「RebuildWarehouse コマンド」を参照してください。

1.サービスとアプリケーション プールが実行されていること、および SQL Server で TCP/IP が有効になっていることを確認する

この手順を実行するには、SQL Server に必要なサービスが実行されている必要があります。 データ ウェアハウスのリビルド中にユーザーがレポートにアクセスしないように、Reporting Services を停止します。 また、デュアルサーバー配置では、SQL Server データベースの各インスタンスに対して TCP/IP プロトコルを有効にする必要もあります。

既定では、 SQL Server のインストール時に TCP/IP は無効になります。

  1. 適切なサーバーにログオンし、Computer Manager を開いて、次の表に示すサービスおよびアプリケーション プールが実行されていることを確認します。

    次のプログラムをホストしているサーバーにログオンした場合

    コンポーネント

    SQL Server Analysis Services

    • SQL Server Analysis Services (MSSQLSERVER または TFSInstance)。

    Team Foundationのデータベース

    • SQL Server (MSSQLSERVER または TFSInstance)。

    • SQL Server エージェント (MSSQLSERVER または TFSInstance)。

    アプリケーション層

    • Microsoft Team Foundation Server アプリケーション プール

    詳細については、「サービス、アプリケーション プール、および Web サイトの停止と開始」を参照してください。

  2. Reporting Services をホストしているサーバーにログオンし、SQL Server Reporting Services (TFSINSTANCE) サービスを停止します。

  3. データ層サーバーで、TCP/IP が SQL Server に対して有効になっていることを確認します。 詳細については、「データベース インスタンスの TCP/IP プロトコルを有効にする」を参照してください。

2.データ ウェアハウスをリビルドし、サービスを再開する

  1. Team Foundation の Team Foundation 管理コンソールを開きます

  2. [アプリケーション層>レポート] の下にある [リビルドの開始] を選択します。

    [オフラインに移行] ダイアログ ボックスが表示されます。

  3. [OK] を選択して、データ ウェアハウスおよび Analysis Services キューブをオフラインにします。

    [ウェアハウス データベースと Analysis Services データベースのリビルド] ダイアログ ボックスが表示されます。

  4. リビルド処理を開始するには、[OK] を選択します。

    ウェアハウスまたはキューブをリビルドするときに、TFS によって次のような一連の処理が実行されます。

    • データベースがオフラインになります。

    • 両方のデータベースのスキーマを削除します。

    • 両方のデータベースのスキーマを再作成します。

    • 両方のデータベースをオンラインに戻します。

    • ウェアハウス アダプター ジョブを再起動します。

    • 通常の処理間隔でキューブを処理します。

    リビルド処理はまずウェアハウスで開始され、次にキューブで開始されます。 データベースのリビルドに要する時間は、データ ウェアハウスに格納されているデータ量によって決まります。 データベースがリビルドされると、データベース処理のジョブが自動的に開始されます。

    注意

    ウェアハウスおよびキューブのリビルド中に、Team Foundation の管理コンソールの応答が停止する場合があります。ウェアハウスおよびキューブのリビルド後に、管理コンソールを更新する必要があります。

  5. (省略可能) リビルド処理の状態を確認するには、ウェアハウス コントロール Web サービスを使用できます。 詳細については、「TFS データ ウェアハウスと Analysis Services キューブの手動処理」を参照してください。

  6. Reporting Services をホストしているサーバーにログオンし、Computer Manager を開いて、SQL Server Reporting Services (TFSINSTANCE) サービスを開始します。

3.レポートにアクセスできることを確認する

  1. Reporting Services をホストしているサーバーにログオンし、Internet Explorer を開きます。次に、アドレス バーに次の文字列を入力し、Enter キーを押します。

    https://localhost/Reports

    注意

    Internet Explorer を管理者として起動することが必要な場合があります。そのためには、[スタート][すべてのプログラム] を選び、[Internet Explorer] のコンテキスト メニューを開いて [管理者として実行] を選択します。

    データ層サーバーに名前付きインスタンスを配置している場合は、代わりに次の文字列を入力します。

    **https://localhost/Reports_**TFSInstance

  2. [コンテンツ] で、[TFSReports]、チーム プロジェクトを格納しているチーム プロジェクト コレクションのフォルダー、チーム プロジェクトに関連するフォルダー、表示するレポートを含むフォルダーの順にクリックします。

  3. 表示するレポートを含むフォルダーを選択します。

  4. レポートを選択し、レポートが正しく表示されることを確認します。

  5. レポートの最終更新日を確認します。 この情報は、レポートの左下隅に表示されます。

Q & A

Q: スキーマの競合はどのように解決しますか。

A: スキーマの競合が発生した場合は、データ ウェアハウスをリビルドしても解決できません。 代わりに、先に競合を解決してからデータ ウェアハウスをリビルドします。 「データ ウェアハウスで発生しているスキーマ競合の解消」を参照してください。

Q: データ ウェアハウスのリビルドまたは処理時に発生したエラーはどのように解決すればよいですか。

A: 以下のアクションからエラーが発生することがあります。

  • 手動で TFS データベースを変更したか、SQL テーブルを編集した。 TFS データベースは手動で変更しないでください。ただし、手動で変更するように Microsoft サポートから指示された場合、または手動でデータベースをバックアップする手順に従う場合を除きます (Team Foundation Server の手動バックアップ)。 その他のいかなる変更を行った場合も、サービス契約が無効になり、アップグレードとパッチがブロックされ、データの損失や破壊につながることがあります。

  • デタッチ/アタッチ操作により、チーム プロジェクト コレクションの構成エラーが発生しました。 たとえば、コレクションが 2 台の異なるデータ層のサーバーにアタッチされたなどです。これはサポートされていないシナリオです。 エラーを解決するには、構成を修正してから、データ ウェアハウスをリビルドします。

  • TFS のバックアップおよび復元 で説明する、サポートされていないバックアップまたは復元の操作を実行した。

Q: レポート サービスを追加する方法を教えてください。

A: 内部設置型の TFS がレポートに対応するよう構成されていない場合は、レポートを追加できます。 「チーム プロジェクトへのレポートの追加」を参照してください。

Q: レポート構成を変更するにはどのようにすればよいですか?

A: チーム プロジェクト コレクションのレポート構成を変更するには、Team Foundation の管理コンソールの [レポート] ページに用意されている [編集] 機能を使用します。

レポートを構成する情報を編集

Q: リビルドの前に削除、または破棄されたデータはどうなりますか。

A: データベースから完全に削除され、ビルドまたは作業項目に関連付けられているデータは、リビルドするときにデータ ウェアハウスから完全に削除されます。

また、サード パーティ ソースから取得したウェアハウスまたはキューブのデータも失われる場合があります。 ほとんどのサード パーティ ツールはデータを再発行できますが、この機能は個々のベンダーに依存しています。 失われる可能性のあるデータ (存在する場合) を確認するには、ベンダーにお問い合わせください。

ビルドを削除するときに、データベースから削除されないデータの詳細については、このブログの投稿を参照してください。

ビルドを削除しても、すべての関連付けられたデータがデータベースから削除されるわけではありません。 そのためには、ビルドを破棄しなければなりません。 TFSBuild destroy コマンドを使用してビルドを破棄し、データ ウェアハウスの領域を節約します。

参照

関連項目

RebuildWarehouse コマンド

概念

TFS データ ウェアハウスのコンポーネント

TFS のレポート、データ ウェアハウス、および Analysis Services キューブの管理