方法 : Team System キューブをリビルドする
更新 : 2007 年 11 月
高レベルなレポートにアクセスするには、Team Foundation データ層サーバーの移動、復元、名前の変更、またはフェールオーバーを実行するたびに Team System キューブをリビルドする必要があります。Team System キューブでは SQL Server Reporting Services がサポートされ、Team System 用データ ウェアハウスのリレーショナル データベースのデータが格納されます。詳細については、「データ ウェアハウス アーキテクチャについて」を参照してください。
必要なアクセス許可
これらの手順を実行するには、SQL Server で次のアクセス許可が必要になります。
Team Foundation のデータベース インスタンス、および Team System データ ウェアハウスの Analysis Services データベース インスタンスの sysadmin セキュリティ グループのメンバである必要があります。
TfsWarehouse リレーショナル データベースのユーザーである必要があります。
TFSEXECROLE データベース ロールのメンバである必要があります。
また、Team Foundation Administrators セキュリティ グループのメンバであるか、サーバー レベルの Administer warehouse アクセス許可が Allow に設定されている必要があります。詳細については、「Team Foundation Server のアクセス許可」を参照してください。
これらのアクセス許可に加えて、Windows Server 2008 または Windows Vista を実行しているコンピュータで次の要件を満たすことが必要になる場合があります。
コマンド ラインの手順を実行するには、昇格した特権のコマンド プロンプトを開くことが必要になる場合があります。その場合は、[スタート] ボタンをクリックし、[コマンド プロンプト] を右クリックして、[管理者として実行] をクリックします。
Internet Explorer を必要とする手順を実行するには、Internet Explorer を管理者として起動することが必要になる場合があります。その場合は、[スタート] ボタンをクリックし、[すべてのプログラム] をクリックします。次に、[Internet Explorer] を右クリックし、[管理者として実行] をクリックします。
web.config ファイルを編集するには、テキスト エディタを管理者として起動することが必要になる場合があります。その場合は、[スタート] ボタンをクリックし、[すべてのプログラム] をクリックします。次に、エディタを右クリックし、[管理者として実行] をクリックします。
Reporting Services のレポート マネージャ、レポート、または Web サイトにアクセスするには、これらのサイトを Internet Explorer の信頼済みサイトの一覧に追加するか、管理者として Internet Explorer を起動することが必要になる場合があります。
詳細については、Microsoft Web サイトを参照してください。
Team System キューブをリビルドするには、次の手順を実行する必要があります。
サービスおよびアプリケーションが実行されていることと TCP/IP が SQL Server に対して有効になっていることを確認する
Team System キューブを再作成する
Team System キューブを処理する
サービスを再起動する
レポートにアクセスできることを確認する
サービスおよびアプリケーションが実行されていることと TCP/IP が SQL Server に対して有効になっていることを確認する
この手順を実行するには、SQL Server に必要なサービスおよびアプリケーション プールが実行されている必要があります。Team System キューブのリビルド中にユーザーがレポートにアクセスしないように、Reporting Services を停止します。また、デュアルサーバー配置では、SQL Server データベースの各インスタンスに対して TCP/IP プロトコルを有効にする必要もあります。
メモ : |
---|
既定では、SQL Server のインストール時に TCP/IP は無効になります。 |
サービスおよびアプリケーション プールが実行されていることと TCP/IP が SQL Server に対して有効になっていることを確認するには
適切なサーバーにログオンし、コンピュータ マネージャを開いて、次の表に示すサービスおよびアプリケーション プールが実行されていることを確認します。
次のプログラムをホストしているサーバーにログオンした場合
構成要素
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 サイトを停止および開始する」を参照してください。
Reporting Services をホストしているサーバーにログオンし、次のサービスを停止します。
SQL Server Reporting Services (TFSINSTANCE)
ReportServer または ReportServer$InstanceName (アプリケーション プール)
メモ : ReportServer は、SQL Server 2005 では管理し、SQL Server 2008 では管理しません。
データ層サーバーで、TCP/IP が SQL Server に対して有効になっていることを確認します。詳細については、「方法 : データベース インスタンスの TCP/IP プロトコルを有効にする」を参照してください。
Team System キューブを再作成する
Team System キューブを再作成すると、Team Foundation Server によって古いキューブが削除され、別のキューブのインスタンスが作成されます。その後、Team System の運営ストアのデータをキューブに読み込んで、キューブを処理する必要があります。
Team System キューブを再作成するには
アプリケーション層サーバーで、コンピュータ マネージャを開き、Visual Studio Team Foundation Server Task Scheduler サービスを停止します。
コマンド プロンプト ウィンドウを開き、Drive:%Program Files%\Microsoft Visual Studio 2008 Team Foundation Server\Tools に移動します。
次のコマンドを入力します。
SetupWarehouse.exe -o -sDataTierServerName-dTFSWarehouse -c warehouseschema.xml -ra TFSReportServiceAccount -a TFSServiceAccount -mturl http://ApplicationTierServerName:Port-lLogFileName
指定項目 :
引数
説明
DataTierServerName
Team Foundation のリレーショナル データベースをホストするサーバーの名前です。
SQL Server を実行しているサーバーに対してデータの移動、フェールオーバー、または復元を行った場合は、サーバーの名前を指定します。
TFSReportServiceAccount
Domain\UserName の形式で示される Reporting Services のサービス アカウント名です。
TFSServiceAccount
Domain\UserName の形式で示される Team Foundation Server のサービス アカウント名です。
ApplicationTierServerName
Team Foundation のアプリケーション層サーバーの名前です。
Port
Team Foundation で使用される Web サービス用のポート番号です。既定値は 8080 です。
LogFileName
(省略可能) 出力用のログ ファイルです。
コマンドが正常に完了するまで待機します。
メモ : コマンドが正常に完了しない場合は、必要なアクセス許可がすべて与えられていることを確認する必要があります。setupwarehouse.log ファイル (オプションとして指定した場合にのみ使用可能) および「データ ウェアハウスのトラブルシューティング」も確認できます。
Team System キューブを処理する
Team System キューブを処理することにより、キューブに依存するデータでクエリおよびレポートを最新の状態に維持することができます。キューブを処理するとき、Team System 用データ ウェアハウスの Analysis Services データベースも同時に処理します。処理の完了までに要する時間は、データ ウェアハウスのリレーショナル データベースにあるデータの量によって異なります。
メモ : |
---|
ウェアハウス コントローラ Web サービスを使用できるように Microsoft Team Foundation Server アプリケーション プールが実行されている必要があります。 |
Team System キューブを処理するには
アプリケーション層サーバーにログオンします。
Internet Explorer を開き、アドレス バーに次の文字列を入力して、Enter キーを押します。
https://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx
[ControllerService] ページが表示されます。
[GetWarehouseStatus] をクリックし、[起動] をクリックします。
重要 : サービスにより値 Idle が返されます。これは、キューブが処理されていないことを示します。別の値が返された場合は、Idle が返されるまでこの手順を繰り返します。
[ControllerService] ページに戻って、[Run] をクリックし、[起動] をクリックします。
この手順により、キューブの処理が開始されます。サービスは、コントローラの起動に成功した場合は True、失敗した場合は False を返します。値が False の場合は、現在キューブが処理されていることを示します。
キューブの処理が完了したタイミングを判断するには、[ControllerService] ページに戻って、[GetWarehouseStatus] をクリックし、[起動] をクリックします。このサービスは次の状態値を返します。
ProcessingAdapters (スキーマ変更を処理中またはデータを取り込み中)
ProcessingOlap (スキーマ変更を処理中またはキューブを処理中)
Idle (処理は完了済み)
GetWarehouseStatus サービスによって値 Idle が返されたら、キューブの処理は完了しています。
メモ : |
---|
通常の操作中に、Visual Studio Team Foundation Server Task Scheduler サービスによって ControllerService Web メソッドが呼び出され、あらかじめ設定された更新間隔 (既定では 1 時間) に基づいてキューブが処理されます。間隔を変更するには、「方法 : Team System 用データ ウェアハウスの更新間隔を変更する」を参照してください。 |
サービスを再起動する
サービスを再起動するには
適切なサーバーにログオンし、コンピュータ マネージャを開いて、次の表に示すコンポーネントを起動します。
次のプログラムをホストしているサーバーにログオンした場合
起動するコンポーネント
Reporting Services
SQL Server Reporting Services (TFSINSTANCE)
(SQL Server 2005 のみ) ReportServer または ReportServer$InstanceName (アプリケーション プール)
アプリケーション層サーバー
Visual Studio Team Foundation Server Task Scheduler Service
レポートにアクセスできることを確認する
レポートにアクセスできることを確認するには
Reporting Services をホストしているサーバーにログオンし、Internet Explorer を開きます。次に、アドレス バーに次の文字列を入力し、Enter キーを押します。
https://localhost/Reports
データ層サーバーに名前付きインスタンスを配置している場合は、代わりに次の文字列を入力します。
**https://localhost/Reports_**TFSInstance
[レポート マネージャ] ページが表示されます。
[コンテンツ] で、任意のプロジェクトをクリックし、プロジェクト内の既定のレポートの 1 つをクリックして、レポートが正しく表示されることを確認します。
参照
処理手順
方法 : ミラー化されたデータ層サーバーにフェールオーバーする
方法 : シングルサーバー配置からデュアルサーバー配置に移行する
概念
方法 : Team Foundation のデータを復元する
参照
その他の技術情報
方法 : データベース インスタンスの TCP/IP プロトコルを有効にする