同じ場所へのデータの復元
任意のバックアップのデータを、そのデータのバックアップ元であるサーバーおよび Team Foundation 用の SQL Server のインスタンスに復元できます。たとえば、破損した一連のデータベースを前回正常起動時の状態に復元できます。正常にデータを復元できるようにするためには、マークされたトランザクションをバックアップ方法の一部として構成する必要があります。詳細については、「Back Up Team Foundation Server」を参照してください。
ヒント |
---|
Team Foundation Server 2012 では、バックアップと復元のパワー ツールを利用できます。このツールを使用すると、配置の管理と復元を大幅に簡略化できます。パワー ツールの現在のリリースは、ここ にあります。 |
このトピックの手順を実行するには、使用するサーバー ハードウェアが正常に動作している必要があります。配置に SharePoint 製品または Microsoft Project Server を使用する場合は、このトピックの手順で説明しているように、データベースをバックアップおよび復元するための追加手順を実行する必要があります。データを別のサーバーまたは別の SQL Server のインスタンスに復元する必要がある場合は、「シングルサーバー配置を新しいハードウェアへ復元 (チュートリアル)」を参照してください。
[!メモ]
配置に SharePoint 製品を使用する場合は、データを復元するときに、各チーム プロジェクトのデータに基づいて自動的に生成される Web サイトを復元する必要はありません。チーム プロジェクト ポータルのデータは、復元したデータベースに含まれています。
同じサーバーにデータを復元するための手順は、Team Foundation Server のインストールおよび構成方法によって異なります。説明を簡単にするために、このトピックで紹介する手順は、次の図のような、中程度に複雑な Team Foundation Server の配置を想定して、構成されています。
実際のトポロジがこの例と完全に同じでない場合は、このプロシージャの手順を調整して作業することが必要になる場合があります。たとえば、1 台の物理サーバーにすべてのコンポーネントがインストールされている配置では、そのサーバー上ですべての手順を実行します。チーム プロジェクト コレクションのデータベースが、複数のサーバーに配置されている場合は、適切なサーバー上で各コレクション データベースを復元するように手順を実行する必要があります。各サーバーに配置される可能性のあるコンポーネントの詳細については、次のトピックを参照してください。
このトピックの内容
必要なアクセス許可
Team Foundation Server で使用されるサービスの停止
Team Foundation データベースの復元
すべてのサービス アカウントの更新
ウェアハウスの復元
サーバーのデータ キャッシュのクリア
Team Foundation Server で使用されるサービスの再起動
クライアント コンピューターのデータ キャッシュの更新
必要なアクセス許可
この手順を実行するには、次のグループのメンバーであるか、次のアクセス許可が付与されている必要があります。
Team Foundation の管理コンソールを実行しているサーバーの Administrators セキュリティ グループのメンバー。
SQL Server System Administrator セキュリティ グループのメンバー、またはデータベースをホストする SQL Server のインスタンスで [SQL Server のバックアップの実行とメンテナンス プラン] のアクセス許可が [許可] に設定されている必要がある。
Team Foundation のデータベース インスタンス、およびウェアハウス データベースの Analysis Services インスタンスの sysadmin セキュリティ グループのメンバー。
TFS_Warehouse データベースの承認ユーザー。
TFSEXECROLE データベース ロールのメンバー。
配置に SharePoint 製品を使用している場合は、SharePoint 製品のデータベースを復元するファームの Farm Administrators グループのメンバー。
これらのアクセス許可に加えて、Windows Server 2008 を実行しているコンピューターでは、次の要件を満たすことが必要になる場合があります。
コマンド ラインの手順を実行するには、昇格した特権のコマンド プロンプトを開くことが必要になる場合があります。その場合は、[スタート] ボタンをクリックし、[コマンド プロンプト] を右クリックして、[管理者として実行] をクリックします。
Internet Explorer を必要とする手順を実行するには、Internet Explorer を管理者として起動することが必要になる場合があります。その場合は、[スタート] ボタンをクリックし、[すべてのプログラム] をクリックします。次に、[Internet Explorer] を右クリックし、[管理者として実行] をクリックします。
SQL Server Reporting Services のレポート マネージャー、レポート、または Web サイトにアクセスするには、これらのサイトを Internet Explorer の信頼済みサイトの一覧に追加するか、管理者として Internet Explorer を起動することが必要になる場合があります。
詳細については、Microsoft Web サイトの「ユーザー アカウント制御」を参照してください。
Team Foundation Server で使用されるサービスの停止
Team Foundation Server で使用されるサービスを停止するには
Team Foundation のアプリケーション層サービスを実行するサーバーで、コマンド プロンプト ウィンドウを開き、Drive:\%programfiles%\Microsoft Team Foundation Server 11.0\Tools ディレクトリに移動します。
次のコマンドを入力します。
TFSServiceControl quiesce
詳細については、「TFSServiceControl コマンド」を参照してください。
Team Foundation データベースの復元
サービスを停止した後、SQL Server の復元ツールを使用して Team Foundation のデータを復元できます。
注意 |
---|
データベースが同期のとれていない状態にならないように、すべてのデータベースを同じ時点の状態に復元する必要があります。次のプロシージャでは、Team Foundation Server が使用するデータベースの同期を保証するため、マークされたトランザクションを使用することを前提にしています。詳細については、「Back Up Team Foundation Server」を参照してください。配置に SharePoint 製品を使用する場合は、配置内の製品のバージョンに関するガイダンスに従う必要があります。詳細については、「バックアップと復旧 (SharePoint Foundation 2010)」、「バックアップと復旧 (SharePoint Server 2010)」、または「ファームの保護と復元 (Office SharePoint Server 2007)」を参照してください。配置が Microsoft Project Server に統合されている場合は、配置内の製品のバージョンに関するガイダンスに従う必要があります。詳細については、「Restore databases (Project Server 2007) (データベースを復元する (Project Server 2007))」および「データベースを復元する (Project Server 2010)」を参照してください。 |
[データベースの復元] ダイアログ ボックスを開くには
データベースを復元するサーバーにログオンします。
[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft SQL Server 2008] を順にポイントし、[SQL Server Management Studio] をクリックします。
[!メモ]
データベースの復元方法の詳細については、Microsoft Web サイトの「SQL Server データベースの復元シナリオの実装」を参照してください。
[サーバーへの接続] ダイアログ ボックスが表示されます。
[サーバーの種類] ボックスの一覧の [データベース エンジン] を選択します。
[サーバー名] ボックスで、データ層サーバーおよびデータベース インスタンスの名前を選択または入力し、[接続] をクリックします。
[!メモ]
SQL Server がクラスターにインストールされている場合、サーバー名はコンピューター名ではなくクラスターの名前です。
SQL Server Management Studio が開きます。
[データベース] ノードを展開して、Team Foundation のデータ層を構成するデータベースの一覧を表示します。
復元のソースになる各サーバーで、次に説明する「データベースを復元するには」の手順を次のデータベースに対して実行します。
Team Foundation Server のデータベースをホストしているサーバー:
TFS_Configuration
[!メモ]
このデータベース名には、TFS_ と Configuration の間に他の文字が含まれている場合があります。
TFS_CollectionName
[!メモ]
各チーム プロジェクト コレクションに独自のデータベースがあります。たとえば、5 つのチーム プロジェクト コレクションがある場合、データベースも 5 つあります。各データベースは、チーム プロジェクト コレクションの名前によって区別できます。これらのデータベースは、SQL Server の同じインスタンス、異なるインスタンス、または異なる物理サーバー上にある可能性があります。各データベースをバックアップし、各データベースを復元のソースになるサーバーとインスタンスに復元する必要があります。
VirtualManagerDB
System Center Virtual Machine Manager (SCVMM) の管理データベースには、仮想マシン、仮想マシンのホスト、仮想マシンのライブラリ サーバー、それらのプロパティなど、SCVMM 管理者コンソールに表示する情報が含まれています。
[!メモ]
SCVMM が Team Foundation Server とは異なる別のサーバーにインストールされている場合、このデータベースは Team Foundation のデータ層サーバーに存在しないこともあります。その場合は、Team Foundation Server とは別にこれをバックアップ、および復元する必要があります。ただし、同期エラーを防ぐため、データベースを保守する際は、マークされたトランザクションを使用して両者に矛盾が生じないように注意する必要があります。
SQL Server Reporting Services を実行しているサーバーで、これが配置に構成されている場合:
ReportServer
[!メモ]
名前付きインスタンスを使用した場合、このデータベースの名前は、ReportServer$InstanceName になります。
ReportServerTempDB
[!メモ]
名前付きインスタンスを使用した場合、このデータベースの名前は、ReportServerTempDB$InstanceName になります。
SharePoint 製品を実行しているサーバーで、1 つ以上の SharePoint Web アプリケーションを配置に構成している場合:
SharePoint 製品の配置全体を復元する場合は、SharePoint 製品 (WSS_AdminContent) の管理データベース。
SharePoint 製品の構成データベース (WSS_Config)。
SharePoint 製品のコンテンツ データベース (WSS_Content)。
[!メモ]
SharePoint 製品のデータが格納されるデータベースの名前は、インストールされている SharePoint 製品のバージョン、およびそれをインストールしたユーザーが名前をカスタマイズしたかどうかによって異なります。さらに、SharePoint 製品が Team Foundation Server とは異なるサーバーにインストールされている場合、これらのデータベースは、データ層サーバーに存在しない可能性があります。データベースが異なるサーバーに存在する場合、データベースのバックアップ、復元、および構成を Team Foundation Server とは別個に管理する必要があります。ただし、同期エラーを防ぐため、データベースを保守する際は、両者に矛盾が生じないように注意する必要があります。
SharePoint 製品で使用するデータベースを復元するには、配置内の製品のバージョンのガイダンスに従う必要があります。詳細については、「バックアップと復旧 (SharePoint Foundation 2010)」、「バックアップと復旧 (SharePoint Server 2010)」、または「ファームの保護と復元 (Office SharePoint Server 2007)」を参照してください。
Microsoft Project Server を実行しているサーバーで、配置を Project Server に統合しており、そのデータベースを異なるサーバーに復元する必要がある場合:
- Project Server の配置が依存するデータベース。詳細については、「Restore databases (Project Server 2007)(データベースを復元する (Project Server 2007))」または「データベースを復元する (Project Server 2010)」を参照してください。
ウェアハウスをビルドし直さない場合:
TFS_Warehouse
[!メモ]
このデータベース名では、TFS_ と Warehouse の間に他の文字が含まれている場合があります。
TFS_Analysis
これらのデータベースの詳細については、「Team Foundation Server のバックアップについて」を参照してください。
データベースを復元するには
オブジェクト エクスプローラーで、[データベース] を強調表示し、サブメニューを開き、[データベースの復元] をクリックします。
[データベースの復元] ダイアログ ボックスが表示されます。
[To Database] (復元先のデータベース) に、TFS_Configuration などの、復元するデータベースの名前を指定します。[復元用のソース] で [デバイスから] を選択し、省略記号ボタン ([…]) をクリックします。
[バックアップの指定] ダイアログ ボックスの [追加] をクリックします。復元するデータベースのバックアップ ファイルの場所を指定し、[OK] を 2 回クリックします。
最初に完全バックアップを復元し、その後に差分バックアップ、さらにその後にトランザクション ログ バックアップを、作成された順に復元する必要があります。
[復元するバックアップ セットの選択] で、復元するバックアップ セットのチェック ボックスをオンにします。
マークされたトランザクションのバックアップ セットを作成した場合は、完全バックアップ、差分バックアップ、およびトランザクション ログのデータベースを復元することを確認してください。
[ページの選択] ペインで、[オプション] を選択し、[既存のデータベースを上書きする] チェック ボックスをオンにします。
[次のデータベース ファイルに復元] ボックスで、指定されているパスが現在のデータベースのパスと一致していることを確認します。
[復旧状態] で、[データベースは操作不可状態のままで、コミットされていないトランザクションはロールバックしない。別のトランザクション ログは復元できません。(RESTORE WITH RECOVERY)] を選択し、[OK] をクリックします。
進行状況を示すアイコンが表示されます。
[SQL Server Management Studio] ダイアログ ボックスが表示され、復元が正常に行われたことが確認されたら、[OK] をクリックしてオブジェクト エクスプローラーに戻ります。
復元したデータベースのショートカット メニューを開き、[タスク]、[復元] を順に選択し、[トランザクション ログ] をクリックします。
[トランザクション ログの復元] ウィンドウが表示されます。
[全般] ページで、[データベース] 一覧の適切なデータベースが強調表示されていることを確認してください。
[復元するトランザクション ログの選択] の一覧で、復元するログの横のチェック ボックスをオンにします。
[復元先] で、[マークされたトランザクション] をクリックします。
[マークされたトランザクションの選択] ウィンドウが表示されます。
[復元を停止するマークされたトランザクションの選択] の一覧で、復元に使用するトランザクション マークの横のチェック ボックスをオンにして、[OK] をクリックします。
重要 データを正常に復元するために、すべてのデータベースについて同じ日付と時刻の同じトランザクション マークを使用する必要があります。
[トランザクション ログの復元] ウィンドウの [OK] をクリックします。
進行状況を示すアイコンが表示されます。
[SQL Server Management Studio] ダイアログ ボックスが表示され、復元が正常に行われたことが確認されたら、[OK] をクリックします。
詳細については、Microsoft Web サイトの「トランザクション ログ バックアップの適用」を参照してください。
[!メモ]
Reporting Services のデータベースを復元する場合は、それらのデータベースの暗号化キーも復元する必要があります。
Reporting Services の暗号化キーを復元するには
[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft SQL Server R2]、[構成ツール] を順にポイントして、[Reporting Services 構成マネージャー] をクリックします。
[Reporting Services 構成の接続] で、サーバーの名前を指定し、[接続] をクリックします。
この配置例では、Jill は [サーバー名] に「FABRIKAMPRIME」と入力します。ここでは既定のインスタンスを使用したため、インスタンス名を既定の MSSQLSERVER から変更する必要はありません。
[接続] ペインで [暗号化キー] をクリックし、[暗号化キー] ペインで [復元] をクリックします。
[暗号化キーの復元] ウィンドウが開きます。
[ファイルの場所] に、暗号化キーのバックアップ ファイルの場所を指定します。[パスワード] に、暗号化キーをバックアップしたときに使用したパスワードを指定し、[OK] をクリックします。
復元の状態が [結果] に表示されます。暗号化キーが復元されたことが [結果] 領域に表示されたら、Reporting Services 構成マネージャーを閉じます。
すべてのサービス アカウントの更新
Team Foundation Server (TFSService) のサービス アカウントおよびデータ ソース アカウント (TFSReports) を更新する必要があります。これらのアカウントが変更されていない場合でも、アカウントの ID と形式が確実に適した ID と形式になるように、情報を更新する必要があります。
サービス アカウントを更新するには
SQL Server Reporting Services を実行しているサーバーでコンピューターの管理を開き、次のコンポーネントがまだ起動していない場合は起動します。
ReportServer または ReportServer$InstanceName (アプリケーション プール)
SQL Server Reporting Services (TFSINSTANCE)
アプリケーション層サーバーで、コマンド プロンプト ウィンドウを開き、Drive:\%programfiles%\Microsoft Team Foundation Server 11.0\Tools ディレクトリに移動します。
コマンド プロンプトに次のコマンドを入力して、Team Foundation のサービス アカウントを追加します。DatabaseName は、構成データベースの名前 (既定では TFS_Configuration) です。
**TfsConfig Accounts /add /AccountType:ApplicationTier /account:**AccountName
このコマンドの使用方法の詳細については、「Accounts コマンド」を参照してください。
これらのリソースを配置に使用している場合は、Accounts コマンドを使用して、レポート サーバーにデータ ソース アカウントを追加し、Team Foundation Server Proxy にプロキシ アカウントを追加します。
ウェアハウスのリビルド
TFS_Warehouse データベースと TFS_Analysis データベースを復元するのではなく、データ ウェアハウスをビルドし直すことができます。配置に多くのデータが含まれている場合は、ウェアハウスをビルドし直すためにかなりの時間を要します。ただし、その戦略によりすべてのデータを適切に同期することができます。ウェアハウスをビルドし直すと、Team Foundation Server によってそのインスタンスが作成されます。このインスタンスを処理して、運営ストアのデータを設定します。
[!メモ]
前のセクションで TFS_Warehouse データベースと TFS_Analysis データベースを復元している場合は、次の手順を実行する必要はありません。
ウェアハウスをビルドし直すには
Team Foundation のアプリケーション層サービスを実行するサーバーで、コマンド プロンプト ウィンドウを開き、Drive:\%programfiles%\Microsoft Team Foundation Server 11.0\Tools ディレクトリに移動します。
次のコマンドを入力します。
TFSConfig rebuildwarehouse /all /ReportingDataSourcePassword:Password
Password は、Reporting Services (TFSReports) のデータ ソース アカウントのパスワードです。
コマンドが正常に完了するまで待機します。
[!メモ]
コマンドが正常に完了しない場合は、必要なアクセス許可がすべて与えられていることを確認する必要があります。詳細については、「Troubleshooting the Data Warehouse」を参照してください。
レポート サーバーで Internet Explorer を開き、アドレス バーに次の文字列を入力します。
https://localhost:8080/VirtualDirectory/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx
VirtualDirectory には、Team Foundation Server をインストールしたときに指定したインターネット インフォメーション サービス (IIS) の仮想ディレクトリを入力します。既定では、このディレクトリ名は tfs です。
[WarehouseControlWebService] ページが表示されます。
[!メモ]
ウェアハウス コントロール Web サービスを使用できるように Microsoft Team Foundation Server アプリケーション プールが実行されている必要があります。
[GetProcessingStatus] を選択し、[起動] をクリックします。
重要 サービスによってすべてのジョブについて値 Idle が返されます。これは、キューブが処理されていないことを示します。別の値が返された場合は、すべてのジョブについて Idle が返されるまでこの手順を繰り返します。
[WarehouseControlWebService] ページで [ProcessAnalysisDatabase] を選択し、[起動] をクリックします。
ブラウザー ウィンドウが開きます。キューブの処理が正常に開始された場合にはサービスから True が返され、失敗するか、キューブが現在処理されている場合には False が返されます。
キューブの処理が完了したタイミングを判断するには、[WarehouseControlWebService] ページに戻って [GetProcessingStatus] を選択し、[起動] をクリックします。
GetProcessingStatus サービスによってすべてのジョブについて値 Idle が返されたら、処理は完了しています。
Team Foundation のアプリケーション層サーバーで、Computer Management を開き、Visual Studio Team Foundation バックグラウンド ジョブ サービスを開始します。
サーバーのデータ キャッシュのクリア
Team Foundation の配置の各アプリケーション層サーバーは、ユーザーがデータ層サーバーからすぐにファイルをダウンロードできるようにキャッシュ ファイルを使用します。配置を復元する場合は、各アプリケーション層サーバーでこのキャッシュをクリアする必要があります。そうしないと、ファイルの ID が一致していない場合に、ユーザーがバージョン コントロールからファイルをダウンロードする際に問題が発生する可能性があります。配置で Team Foundation Server Proxy を使用する場合は、プロキシとして構成されている各サーバーのデータ キャッシュもクリアする必要があります。
[!メモ]
データ キャッシュをクリアすると、不適切なバージョンのファイルがバージョン コントロールからダウンロードされるのを防ぐことができます。この処理は、復元の一環として配置のすべてのハードウェアを置き換える場合を除いて、定期的に実行する必要があります。すべてのハードウェアを置き換える場合は、この手順を省略できます。
データ キャッシュをクリアするには
Team Foundation のアプリケーション層サービスを実行しているサーバーか、Team Foundation Server Proxy が構成されているサーバーでコマンド プロンプト ウィンドウを開き、Drive:\%programfiles%\Microsoft Team Foundation Server 11.0\Application Tier\Web Services\_tfs_data ディレクトリに移動します。
_tfs_data ディレクトリを空にします。
配置内のアプリケーション層サーバーと Team Foundation Server Proxy を実行しているサーバーごとに、これらの手順を繰り返します。
Team Foundation Server で使用されるサービスの再起動
データを復元したら、サーバーを操作可能な状態に戻すためにサービスを再起動してください。
Team Foundation Server で使用されるサービスを再起動するには
Team Foundation のアプリケーション層サービスを実行するサーバーで、コマンド プロンプト ウィンドウを開き、Drive:\%programfiles%\Microsoft Team Foundation Server 11.0\Tools ディレクトリに移動します。
次のコマンドを入力します。
TFSServiceControl unquiesce
詳細については、「TFSServiceControl コマンド」を参照してください。
クライアント コンピューターのキャッシュの更新
クライアント コンピューターで作業項目のトラッキングに使用されるキャッシュを更新するには
新しいサーバーで、Internet Explorer を開きます。
アドレス バーに次のアドレスを入力して、ClientService Web サービスに接続します。
http://PublicURL/VirtualDirectory:8080/WorkItemTracking/v3.0/ClientService.asmx
[!メモ]
管理資格情報を使用してログオンした場合でも、管理者として Internet Explorer を起動し、資格情報の入力を求められる場合があります。
[StampWorkitemCache] を選択し、[起動] をクリックします。
[!メモ]
StampWorkitemCache メソッドはデータを返しません。
クライアント コンピューターのバージョン管理キャッシュを更新するには
クライアント コンピューターで、管理者権限でコマンド プロンプト ウィンドウを開き、Drive:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE にディレクトリを変更します。
コマンド プロンプトで、次のコマンドを入力し、新しいサーバーのサーバー名とポート番号を含むコレクションの URL を指定します。
tf workspaces /collection:http://<サーバー名:ポート>/<仮想ディレクトリ名>/<コレクション名>
この配置例では、Jill の開発者の 1 人が、Team Foundation Server の FabrikamPrime 配置でホストされている DefaultCollection コレクションのメンバーであるプロジェクトのバージョン管理キャッシュを更新する必要があります。この開発者は次の文字列を入力します。
tf workspaces /collection:http://FabrikamPrime:8080/tfs/DefaultCollection
詳細については、「Workspaces Command」を参照してください。
参照
概念
Team Foundation Server のアクセス許可
Team Foundation Server のアーキテクチャ
その他の技術情報
Team Foundation Server のサービスおよびサービス アカウント