Share via


方法 : Team Foundation Server のデータを別のサーバーに復元する

更新 : 2007 年 11 月

同じアプリケーション層サーバーを使用したまま、Team Foundation のデータを 1 つのデータ層サーバーから別のデータ層サーバーに復元できます。たとえば、サーバーのハードウェアをアップグレードするときに、データ層の移動が必要になる場合があります。また、元のサーバーで予期しないエラーが発生した場合、データ層サーバーの作成が必要になることがあります。このプロセスは、Team Foundation Server (アプリケーション層およびデータ層) の配置全体をあるハードウェア セットから別のハードウェア セットに移動するプロセスとは異なります。詳細については、「Team Foundation Server の移動の種類」を参照してください。

必要なアクセス許可

これらの手順を実行するには、次のグループのメンバである必要があります。

  • データ層サーバーおよびアプリケーション層サーバーの Administrators グループ

  • Team Foundation 管理者グループ

  • Windows SharePoint ServicesSiteAdministrator グループ

  • データ層サーバーの SQL ServerAdministrator グループ

詳細については、「Team Foundation Server のアクセス許可」を参照してください。

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

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

  • Internet Explorer を必要とする手順を実行するには、Internet Explorer を管理者として起動することが必要になる場合があります。その場合は、[スタート] ボタンをクリックし、[すべてのプログラム] をクリックします。次に、[Internet Explorer] を右クリックし、[管理者として実行] をクリックします。

  • web.config ファイルを編集するには、テキスト エディタを管理者として起動することが必要になる場合があります。その場合は、[スタート] ボタンをクリックし、[すべてのプログラム] をクリックします。次に、エディタを右クリックし、[管理者として実行] をクリックします。

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

詳細については、Microsoft Web サイトを参照してください。

Team Foundation のデータを別のデータ層サーバーに復元するには、次のセクションの手順を、記載されている順序に従って実行する必要があります。

  1. データのバックアップ

  2. 新しいハードウェアへの SQL Server のインストールと構成

  3. データベースの復元

  4. チーム プロジェクト用 Web サイトのリダイレクト

  5. 管理データベースおよび構成データベースの再接続

  6. SQL Server Reporting Services および既定のレポートのリダイレクトおよびテスト

  7. 新しいデータ層サーバーへのアプリケーション層サーバーのリダイレクト

  8. Team System キューブのリビルド

  9. バージョン管理のキャッシュの削除

  10. サービス アカウントの更新

  11. サービスの再起動

  12. クライアント コンピュータのデータ キャッシュの更新

データのバックアップ

元の Team Foundation Server の配置からデータを復元するには、SQL Server データベースの完全なデータ バックアップが必要です。データが暗号化されている場合は、暗号化キーおよびそのパスワードも必要です。

Team Foundation のデータをバックアップするには

  • 詳細については、「方法 : Team Foundation Server をバックアップする」および「方法 : Reporting Services の暗号化キーをバックアップする」を参照してください。

    ms252516.alert_note(ja-jp,VS.90).gifメモ :

    SharePoint 製品とテクノロジがアプリケーション層にインストールされている場合に、Team Foundation データベースを復元するデータ層に SharePoint 製品とテクノロジのデータベースを移動する場合は、SharePoint 製品とテクノロジの管理データベース (SharePoint_AdminContent_ID) をコンテンツ データベースおよび構成データベースと共にバックアップする必要があります。

新しいハードウェアへの SQL Server のインストールと構成

Team Foundation のデータを復元するには、Team Foundation Server のデータの移動先となるコンピュータに SQL Server をインストールする必要があります。インストールする SQL Server のバージョンは、元のデータ層サーバーのバージョンと完全に一致する必要があります (サービス パックのレベル、照合順序の設定、言語など)。完全に一致しない場合は、データを復元できない可能性があります。

Team Foundation のデータを復元するための SQL Server のインストールと準備

  1. 新しい環境に SQL Server をインストールし、動作することを確認します。

    詳細については、Microsoft Web サイトから Team Foundation の最新のインストール ガイドをダウンロードし、参照してください。このガイドには、SQL Server をデュアルサーバー配置にインストールする方法に関するトピックが含まれています。元の Team Foundation Server をインストールしたときと同じバージョンをインストールする必要があります。

  2. アプリケーション層サーバーで、コマンド プロンプト ウィンドウを開き、%ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools ディレクトリに移動します。

    ms252516.alert_note(ja-jp,VS.90).gifメモ :

    管理資格情報を使ってログオンした場合であっても、Windows Server 2008 を実行中のサーバーに対してこの機能を実行するには、昇格した特権でコマンド プロンプトを開く必要があります。昇格した特権のコマンド プロンプトを開くには、[スタート] をクリックし、[コマンド プロンプト] を右クリックして、[管理者として実行] をクリックします。詳細については、Microsoft Web サイトを参照してください。

  3. コマンド プロンプトに次のコマンドを入力します。

    TfsDB.exe install /server:"NewSQLServerName" /property:"TFS_SERVICE_ACCOUNT=TFSServiceAccount;TFS_REPORTING_ACCOUNT=TFSReportingServiceAccount;LCID=LCIDNumber;VSTF_AS_INSTANCE=AnalysisServicesServerName;VSTF_AS_DATABASE=TeamFoundationDataWarehouseName;VSTF_AS_ACCOUNT="

    • NewSQLServerName には、SQL Server をインストールした、データの復元先となるサーバーの名前を指定します。名前付きインスタンスを使用した場合は、サーバー名だけではなくインスタンス名も含める必要があります。

    • TFSServiceAccount には、Team Foundation Server のサービス アカウントを Domain\Account または Computer\Account の形式で指定します。システム アカウントを使用する場合は、そのアカウントを System\Account の形式で指定する必要があります。たとえば、Network Service を使用する場合は、NT Authority\Network Service と指定します。

    • TFSReportingServiceAccount には、Reporting Services のデータ ソース アカウントを Domain\Account または Computer\Account の形式で指定します。

    • LCIDNumber には、SQL Server の各言語エディションに割り当てられている照合順序 ID 番号を指定します。たとえば、英語版の LCID は 1033 です。

    • AnalysisServicesServerName には、SQL Server Analysis Services がインストールされているサーバーの名前を指定します。既定では、NewSQLServerName に指定するサーバーに Analysis Services がインストールされています。

    • TeamFoundationDataWarehouseName には、元の Team Foundation 用データ ウェアハウスの名前を指定します。既定値は TfsWarehouse です。

  4. 適切なサーバーにログオンし、コンピュータ マネージャを開いて、次の表に指定されている順序に従ってコンポーネントを停止します。

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

    停止するコンポーネント

    SharePoint 製品とテクノロジ

    • SharePoint Timer Service または Windows SharePoint Services Timer

    アプリケーション層

    • Visual Studio Team Foundation Server Task Scheduler Service

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

    Reporting Services

    • SQL Server Reporting Services (TFSINSTANCE) (サービス)

    • ReportServer または ReportServer$InstanceName (アプリケーション プール)

      ms252516.alert_note(ja-jp,VS.90).gifメモ :
      SQL Server 2005 の場合、ReportServer はインターネット インフォメーション サービス (IIS) で管理されますが、SQL Server 2008 の場合は IIS で管理されません。

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

    ms252516.alert_caution(ja-jp,VS.90).gif重要 :

    復元ベースの移動でユーザー アカウントおよびサービス アカウントを移動するには、新しい配置が停止状態になっている必要があります。データを復元しても、ユーザー アカウントおよびサービス アカウントを移動していない状態で Team Foundation Server を再起動すると、移行対象のユーザーが、TFSIntegration データベース内で削除済みとしてマークされることがあります。この問題は、グループ セキュリティ サービスが Active Directory との同期中にユーザーの SID を検出できない場合に発生します。

データベースの復元

サービスを停止した後、SQL Server の復元ツールを使用して Team Foundation のデータを復元できます。詳細については、Microsoft Web サイトの「SQL Server データベースの復元シナリオの実装」(SQL Server 2005 または SQL Server 2008) を参照してください。

ms252516.alert_caution(ja-jp,VS.90).gif注意 :

すべてのデータベースを同じ時点の状態に復元する必要があります。それ以外の場合は、データベースが破損します。

[データベースの復元] ダイアログ ボックスを開くには

  1. データ層サーバーで、[スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft SQL Server] をポイントし、[SQL Server Management Studio] をクリックします。

  2. [サーバーの種類] ボックスの一覧で、[データベース エンジン] をクリックします。

  3. [サーバー名] ボックスで、適切なサーバーをクリックまたは入力します。

  4. [認証] ボックスで、適切なスキームをクリックします。

  5. [ユーザー名] ボックスに、有効なアカウントのユーザー名を入力します。

  6. SQL Server からアカウントのパスワードを要求された場合は、[パスワード] ボックスに入力し、[接続] をクリックします。

  7. [データベース] ノードを展開して、Team Foundation のデータ層を構成するデータベースの一覧を表示します。

次の各データベースに対して、「各データベースを復元するには」に記載されている手順を実行します。

  • ReportServer

    名前付きインスタンスを使用した場合、このデータベースの名前は、ReportServer$InstanceName になります。

  • ReportServerTempDB

    名前付きインスタンスを使用した場合、このデータベースの名前は、ReportServerTempDB$InstanceName になります。

  • SharePoint 製品とテクノロジの構成データベース (STS_Config_TFS or WSS_Config)

    ms252516.alert_caution(ja-jp,VS.90).gif重要 :

    このデータベースは、SharePoint 製品とテクノロジがアプリケーション層サーバーにインストールされており、その場所を変更しない場合にのみ復元する必要があります。別のコンピュータに新たにインストールされた SharePoint 製品とテクノロジを使用している場合や、SharePoint 製品とテクノロジがアプリケーション層とは別のサーバーにインストールされている場合は、このデータベースを新しいデータ層に復元しないでください。

  • SharePoint 製品とテクノロジ のコンテンツ データベース (STS_Content_TFS または WSS_Content)

    SharePoint 製品とテクノロジのデータが格納されるデータベースの名前は、インストールされている SharePoint 製品とテクノロジのバージョン、およびそれをインストールしたユーザーが名前をカスタマイズしたかどうかによって異なります。さらに、SharePoint 製品とテクノロジが Team Foundation Server とは異なるサーバーにインストールされている場合、これらのデータベースは、データ層サーバーに存在しない可能性があります。異なるサーバーに存在する場合は、これらのデータベースのバックアップ、復元、および構成を Team Foundation Server とは別個に管理する必要があります。ただし、同期エラーを防ぐため、データベースを保守する際は、両者に矛盾が生じないように注意する必要があります。

  • SharePoint 製品とテクノロジの管理データベース (SharePoint_AdminContent_ID)

    ms252516.alert_caution(ja-jp,VS.90).gif重要 :

    このデータベースは、SharePoint 製品とテクノロジがアプリケーション層サーバーにインストールされており、その場所を変更していない場合にのみ復元する必要があります。別のコンピュータに新たにインストールされた SharePoint 製品とテクノロジを使用している場合や、SharePoint 製品とテクノロジがアプリケーション層とは別のサーバーにインストールされている場合は、このデータベースを新しいデータ層に復元しないでください。

  • TfsBuild

  • TfsIntegration

  • TfsVersionControl

  • TfsWarehouse

  • TfsWorkItemTracking

  • TfsWorkItemTrackingAttachments

  • TfsActivityLogging (省略可能)

ms252516.alert_note(ja-jp,VS.90).gifメモ :

復元プロセスの一部として、新しいカスタム サイト テンプレートまたはカスタム プロセス テンプレート用 Web パーツを、SharePoint 製品とテクノロジのデータベースにアップロードする必要があります。

各データベースを復元するには

  1. 復元するデータベースを右クリックし、[タスク] をポイントします。次に、[復元] をポイントし、[データベース] をクリックします。

    ms252516.alert_caution(ja-jp,VS.90).gif重要 :

    ほとんどの配置において、SQL Server データベースと SharePoint 製品とテクノロジ データベースはどちらも [データベース] ノードのデータベースの一覧に表示されません。表示されていないデータベースを復元するには、[データベース] ノードを右クリックし、[データベースの復元] をクリックして、表示されていないデータベースを指定します。

  2. [データベースの復元] ダイアログ ボックスが表示されます。

  3. [復元用のソース] で [デバイスから] をクリックし、省略記号ボタン ([…]) をクリックします。

  4. [バックアップの指定] ダイアログ ボックスで、バックアップ ファイルの場所を指定し、[OK] をクリックします。

    最初に完全バックアップを復元し、その後にトランザクション ログ バックアップを作成順に適用する必要があります。

  5. [復元するバックアップ セットの選択] で、復元するバックアップ セットを指定します。

  6. [ページの選択] ペインで、[オプション] をクリックし、[既存のデータベースを上書きする] チェック ボックスをオンにします。

  7. [次のデータベース ファイルに復元] の一覧で、指定されたパスが現在のデータベースのパスと一致していることを確認します。

    データベースを別のドライブに復元する場合、この手順は重要です。

  8. [復旧状態] で、適切な状態をクリックします。

  9. 次のいずれかの操作を実行します。

    • 追加のトランザクション ログを適用しない場合は、[データベースを使用可能な状態にする] をクリックします。

    • 追加のトランザクション ログを適用する場合は、[データベースは操作不可能状態のまま] をクリックします。

  10. [OK] をクリックして、[データベースの復元] ダイアログ ボックスを閉じ、データベースを復元します。

  11. 追加のトランザクション ログを適用する場合は、ログ バックアップ セットが作成された順序に従い、各ログ バックアップ セットに対してこの手順を実行します。完全バックアップの後に最初に作成されたものから開始します。

    詳細については、Microsoft Web サイトの「トランザクション ログ バックアップの適用」(SQL Server 2005 または SQL Server 2008) を参照してください。

チーム プロジェクト用 Web サイトのリダイレクト

チーム プロジェクト用のすべての Web サイトを Team Foundation の新しいデータ層サーバーのコンテンツ データベースにリダイレクトする必要があります。すべての SharePoint 製品とテクノロジ データベースを移動する場合は、この手順を省略して、この後に記載されている「管理データベースおよび構成データベースの再接続」に進んでください。

新しいデータ層サーバーのコンテンツ データベースを使用するようにプロジェクト サイトをリダイレクトするには

管理データベースおよび構成データベースの再接続

Team Foundation Server の配置において元のデータ層サーバーによって SharePoint 製品とテクノロジのデータベースもホストされていた場合に、それらのデータベースを新しいサーバーに復元する場合は、次の手順を実行する必要があります。ただし、SharePoint 製品とテクノロジが別のサーバーにインストールされている場合や、元のデータ層を SharePoint 製品とテクノロジのデータ層として引き続き使用する場合は、この手順を実行しないでください。

SharePoint 製品とテクノロジの管理データベースと構成データベースを再接続するには

  1. SharePoint 製品とテクノロジをホストしているサーバーにログオンし、コマンド プロンプト ウィンドウを開いて、%PROGRAMFILES%\common files\microsoft shared\web server extensions\12\bin に移動します。

  2. 次のコマンドを入力します。

    stsadm –o renameserver –oldservername OriginalDataTierServerName -newserver NewDataTierServerName

    SharePoint 製品とテクノロジの復元の詳細については、Microsoft Web サイトのホワイト ペーパー「Backup, Restore, and Disaster Recovery for Microsoft SharePoint Products and Technologies」を参照してください。

SQL Server Reporting Services および既定のレポートのリダイレクトおよびテスト

SharePoint 製品とテクノロジを新しいコンテンツ データベースにリダイレクトした後、新しいデータベースを使用するように Reporting Services をリダイレクトする必要があります。この手順を実行しない限り、既定のレポートおよびカスタム レポートをチーム プロジェクトで使用することはできません。

新しいデータ層サーバーに接続するように Reporting Services をリダイレクトするには

新しいデータ層サーバーへのアプリケーション層サーバーのリダイレクト

Reporting Services をリダイレクトした後、TfsAdminUtil コマンドを使用して、アプリケーション層サーバーを新しいデータ層サーバーにリダイレクトする必要があります。

アプリケーション層サーバーを新しいサーバー リソースにリダイレクトするには

  1. 適切なサーバーにログオンしてコンピュータ マネージャを起動し、次の表に記載されているアプリケーション プールとプログラムを開始します。

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

    起動するコンポーネント

    アプリケーション層

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

    • 既定の Web サイトまたはチーム Web サイト

    Reporting Services

    • ReportServer または ReportServer$InstanceName (アプリケーション プール)

      ms252516.alert_note(ja-jp,VS.90).gifメモ :
      SQL Server 2005 の場合、ReportServer はアプリケーション プールとして IIS で管理されますが、SQL Server 2008 の場合は IIS で管理されません。
    • SQL Server Reporting Services (TFSINSTANCE)

    • 既定の Web サイトまたはレポート マネージャ Web サイト

  2. コマンド プロンプト ウィンドウで、%ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools ディレクトリに移動し、次のコマンドを入力します。

    TfsAdminUtil RenameDT newTeamFoundationDataTierServerName

    ms252516.alert_caution(ja-jp,VS.90).gif重要 :

    RenameDT コマンドを正常に実行するには、前の手順に記載されているアプリケーション プールとプログラムが実行されている必要があります。これは、Visual Studio Team System 2008 Team Foundation Server で導入された新しい要件です。また、サービスの Web.config ファイルに含まれている接続文字列は、古いデータ層サーバーの名前を参照している必要があります。この文字列が新しいサーバーを参照している場合、コマンドは失敗します。コマンドを正しく実行するには、元のサーバーの名前を復元する必要があります。

Team System キューブのリビルド

新しいデータ層サーバーを使用するようにアプリケーション層サーバーをリダイレクトした後、Team System キューブをリビルドする必要があります。Team System キューブでは、SQL Server Reporting Services がサポートされています。このキューブには、Team System 用データ ウェアハウスのリレーショナル データベースに格納されるデータが含まれています。詳細については、「データ ウェアハウス アーキテクチャについて」を参照してください。

Team System キューブをリビルドするには

バージョン管理のキャッシュの削除

Team System キューブをリビルドしたら、アプリケーション層サーバー (およびすべてのプロキシ サーバー) のバージョン管理キャッシュを削除して、新しいデータ層サーバーと同期させる必要があります。

バージョン管理のキャッシュを削除するには

  1. アプリケーション層サーバーで次のディレクトリを開きます。

    Drive:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\VersionControl

  2. Data ディレクトリの内容を削除します。ただし、Data ディレクトリ自体は削除しません。

    詳細については、「方法 : アプリケーション層サーバーのバージョン管理キャッシュを削除する」を参照してください。

  3. Team Foundation Server Proxy を実行している、配置内のすべてのサーバーでこの手順を実行します。

サービス アカウントの更新

配置のサービス アカウントに使用しているシステム アカウント (Network Service など) を更新する必要があります。同じシステム アカウントを使用できますが、新しいデータ層サーバーで情報を更新して、適切な SID が関連付けられるようにする必要があります。

ms252516.alert_note(ja-jp,VS.90).gifメモ :

新しい配置用に作成されるアカウント名は、元の配置のアカウント名と一致する必要があります。

サービス アカウントを更新するには

  1. Reporting Services を実行しているサーバーでコンピュータ マネージャを開き、次のコンポーネントがまだ起動していない場合は起動します。

    • ReportServer または ReportServer$InstanceName (アプリケーション プール)

    • SQL Server Reporting Services (TFSINSTANCE)

  2. 新しいアプリケーション層サーバーで、コマンド プロンプト ウィンドウを開き、%ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools ディレクトリに移動します。

  3. コマンド プロンプトに次のコマンドを入力します。

    TfsAdminUtil ChangeAccount OldDomainOrOldComputerName\OldTFSServiceAccount NewDomainOrNewComputerName\NewTFSServiceAccount NewPassword

    ms252516.alert_note(ja-jp,VS.90).gifメモ :

    サービス アカウントが存在しないという警告や、アカウントがデータ ウェアハウス ロールのメンバではないという警告は無視します。

  4. コマンド プロンプトに次のコマンドを入力します。

    TfsAdminUtil ChangeAccount/ra OldDomainOrOldComputerName\OldTFSReportingServiceAccount NewDomainOrNewComputerName\NewTFSReportingServiceAccount NewPassword

    ms252516.alert_note(ja-jp,VS.90).gifメモ :

    サービス アカウントがデータ ウェアハウス ロールのメンバではないという警告や、サービス アカウント グループへのアカウントの追加を求める警告は無視します。

サービスの再起動

サービスを再起動するには

  • 適切なサーバーにログオンし、コンピュータ マネージャを開いて、次の表に指定されている順序に従ってコンポーネントを起動します。

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

    起動するコンポーネント

    SharePoint 製品とテクノロジ

    • SharePoint Timer Service または Windows SharePoint Services Timer

    アプリケーション層

    • Visual Studio Team Foundation Server Task Scheduler Service

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

クライアント コンピュータのデータ キャッシュの更新

クライアント コンピュータのデータ キャッシュを更新するには

参照

処理手順

方法 : Team Foundation Server をバックアップする

方法 : あるハードウェア構成から別のハードウェア構成へ Team Foundation Server を移動する

その他の技術情報

データの管理

Team Foundation Server のデータ層サーバーの管理

Team Foundation Server の管理