方法 : プリンシパル サーバーを使用できない場合にミラー化されたデータ層サーバーにフェールオーバーする

更新 : 2007 年 11 月

Team Foundation が依存しているデータベースに対して SQL Server のミラーリングを構成しておくと、プリンシパル サーバーを使用できなくなった場合でも、ミラー化されたデータ層サーバーにフェールオーバーできます。この方法により、Team Foundation Server の配置で発生する問題を最小限に抑えることができます。詳細については、Microsoft Web サイトの「Team Foundation データ層サーバーのミラーリング」および「SQL Server データベースの復元シナリオの実装」(SQL Server 2005 または SQL Server 2008) を参照してください。

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

このトピックで紹介する手順は、プリンシパル データ層サーバーを使用できない場合にのみ実行します。プリンシパル データ層サーバーを使用できる場合は、「方法 : ミラー化されたデータ層サーバーにフェールオーバーする」の手順に従ってください。詳細については、Microsoft Web サイトの「強制的なサービスの起動 (データ損失の可能性あり)」(SQL Server 2005 または SQL Server 2008) を参照してください。

プリンシパル サーバーを使用できない場合にミラー化されたデータ層サーバーにフェールオーバーするには、次の手順を実行する必要があります。

  1. Team Foundation Server で使用されるサービスを停止する

  2. プリンシパル データベースとミラーリング データベースのロールを手動で切り替える

  3. ミラー化されたデータ層サーバーに接続するように SQL Server Reporting Services をリダイレクトする

  4. アプリケーション層サーバーを新しいプリンシパル データ層サーバーにマップする

  5. Team System キューブをリビルドする

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

  7. チーム プロジェクト用 Web サイトをリダイレクトする

  8. サービスを再起動する

  9. (省略可能) クライアント コンピュータのデータ キャッシュを更新する

必要なアクセス許可

これらの手順を実行するには、プリンシパル サーバーおよびミラー化されたサーバーの Administrators グループのメンバであり、SQL Server Administrator グループのメンバである必要があります。詳細については、「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 Server で使用されるサービスを停止する

ミラー化されたサーバーにフェールオーバーする前に、ミラー化されたデータ層サーバーを使用するようにアプリケーション層サーバーを準備する必要があります。

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

シングルサーバー配置では、Team Foundation Server を実行しているサーバーにログオンし、すべてのサービス、アプリケーション プール、および Web サイトを停止および開始します。デュアルサーバー配置では、Team Foundation Server の特定のサービス、アプリケーション プール、または Web サイトをホストするサーバーにログオンする必要があります。詳細については、「方法 : サービス、アプリケーション プール、または Web サイトを停止および開始する」を参照してください。

Team Foundation Server で使用されるサービスを停止するには

  • 適切なサーバーにログオンし、コンピュータ マネージャを開いて、次の表に指定されているサービスと Web サイトを停止します。

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

    停止するコンポーネント

    SharePoint 製品とテクノロジ

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

    • SharePoint Timer Service または Windows SharePoint Services Timer

    Reporting Services

    • SQL Server Reporting Services (TFSINSTANCE)

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

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

      Aa980528.alert_note(ja-jp,VS.90).gifメモ :
      SQL Server 2005 ではレポート サーバーの Web サイトおよびアプリケーション プールを停止する必要がありますが、SQL Server 2008 ではこの操作を行う必要はありません。

    アプリケーション層

    • Visual Studio Team Foundation Server Task Scheduler Service

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

プリンシパル データベースとミラーリング データベースのロールを手動で切り替える

サービスを停止したら、手動でデータベースをフェールオーバーできます。詳細については、Microsoft Web サイトの「データベース ミラーリング セッションを手動でフェールオーバーする方法 (SQL Server Management Studio)」(SQL Server 2005 または SQL Server 2008) を参照してください。

ミラーリング サーバーで SQL Server Management Studio を開くには

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

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

    詳細については、Microsoft Web サイトの「SQL Server データベースの復元シナリオの実装」(SQL Server 2005 または SQL Server 2008) を参照してください。

    [サーバーへの接続] ダイアログ ボックスが表示されます。

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

  3. [サーバー名] ボックスで、データ層サーバーおよびデータベース インスタンスの名前をクリックまたは入力し、[接続] をクリックします。

    SQL Server Management Studio が開きます。

  4. オブジェクト エクスプローラで、[データベース] ノードを展開して、データ層を構成するデータベースの一覧を表示します。

次の各データベースに対して、後の「ミラー化されたデータ層サーバーにサービスを強制的にフェールオーバーするには」に記載されている手順を実行します。

  • ReportServer

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

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

  • ReportServerTempDB

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

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

  • 次の SharePoint 製品とテクノロジ データベース (SharePoint 製品とテクノロジを配置するデータ層サーバーが Team Foundation Server を配置するデータ層サーバーと同じである場合)

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

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

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

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

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

  • TfsActivityLogging

  • TfsBuild

  • TfsIntegration

  • TfsVersionControl

  • TfsWarehouse

  • TfsWorkItemTracking

  • TfsWorkItemTrackingAttachments

ミラー化されたデータ層サーバーにサービスを強制的にフェールオーバーするには

  1. SQL Server Management Studio で、[ファイル] メニューの [新規作成] をポイントし、[クエリを現在の接続で実行] をクリックします。

    新しいクエリ ウィンドウが開きます。

  2. ウィンドウ内で、次のコマンドを入力します。Database には、Team Foundation のデータベースの名前を指定します。

    ALTER DATABASEDatabaseSET PARTNERFORCE_SERVICE_ALLOW_DATA_LOSS

  3. ツール バーの [実行] をクリックします。

ミラー化されたデータ層サーバーに接続するように SQL Server Reporting Services をリダイレクトする

ミラー化されたデータ層サーバーに接続するように Reporting Services をリダイレクトするには

アプリケーション層サーバーを新しいプリンシパル データ層サーバーにマップする

すべてのデータベースをフェールオーバーし、バージョン管理のキャッシュを削除した後は、ミラーリング データ層サーバーが、配置のプリンシパル データ層サーバーになります。フェールオーバーを完了するには、アプリケーション層サーバーを現在のプリンシパル データ層サーバーにリダイレクトする必要があります。

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

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

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

    起動するコンポーネント

    アプリケーション層

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

    Reporting Services

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

      Aa980528.alert_note(ja-jp,VS.90).gifメモ :
      SQL Server 2005 を実行している場合はインターネット インフォメーション サービス (IIS) でレポート サーバーのアプリケーション プールを開始する必要がありますが、SQL Server 2008 を実行している場合はこの操作を行う必要はありません。
    • SQL Server Reporting Services (TFSINSTANCE)

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

    TfsAdminUtil RenameDT newTeamFoundationDataTierServerName

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

    RenameDT コマンドを正常に実行するには、前の手順に記載されているアプリケーション プールとプログラムが実行されている必要があります。これは Visual Studio Team System 2008 Team Foundation Server で新しく導入された要件です。

  3. iisreset」と入力し、Enter キーを押してインターネット インフォメーション サービス (IIS) を再起動します。

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 を実行している、配置内のすべてのサーバーでこの手順を実行します。

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

ミラー化されたデータ層サーバーのコンテンツ データベースを使用するようにプロジェクト サイトをリダイレクトするには

サービスを再起動する

Team Foundation Server で使用されるサービスを再起動するには

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

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

    開始するサービス

    SharePoint 製品とテクノロジ

    • SharePoint Timer Service または Windows SharePoint Services Timer

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

    アプリケーション層

    • Visual Studio Team Foundation Server Task Scheduler Service

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

    Reporting Services

    • SQL Server Reporting Services (TFSINSTANCE)

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

      Aa980528.alert_note(ja-jp,VS.90).gifメモ :
      SQL Server 2005 を実行している場合は IIS でレポート サーバーのアプリケーション プールを開始する必要がありますが、SQL Server 2008 を実行している場合はこの操作を行う必要はありません。
    • 既定の Web サイトまたはレポート マネージャ Web サイト

  2. Internet Explorer を開き、アドレス バーに次の文字列を入力して、チーム プロジェクト ポータルを使用できることを確認します。

    http://SharePointServicesServerName/default.aspx

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

復元されたデータがフェールオーバー前のデータ層サーバーのデータと一致しない場合にのみ、クライアント コンピュータのデータ キャッシュを更新します。

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

  1. アプリケーション層サーバーにログオンします。

  2. ClientService Web サービスを使用して、クライアントが次回アプリケーション層サーバーに接続するときに、作業項目のトラッキングに使用するキャッシュを強制的に更新します。

    詳細については、「方法 : クライアント コンピュータのデータ キャッシュを更新する」を参照してください。

参照

処理手順

方法 : Team Foundation データ層サーバーに対して SQL Server ミラーリングを構成する

方法 : ミラー化されたデータ層サーバーにフェールオーバーする

概念

Team Foundation データ層サーバーのミラーリング

Team Foundation Server のアクセス許可

その他の技術情報

方法 : サービス、アプリケーション プール、または Web サイトを停止および開始する