ある環境から別の環境への Team Foundation Server の移行

最も一般的な環境ベースの移動のシナリオは、TFS 配置のドメインの変更です。ドメイン名の変更か、ワークグループからドメインへの移動のいずれかになります。

重要

状況によっては、そのハードウェアだけでなく TFS 配置のドメインも変更したいと考える場合があります。ハードウェアの変更は復元ベースの移動であり、これら 2 種類の移動を組み合わせないでください。まずハードウェアの移動を完了してから、環境を変更します。

また、環境の移動の一環として TFS で ID を変更すると、ほとんどの場合、競合や問題が発生します。ID コマンド は強力なツールですが、特定の制限があります。移動を計画するときに、この制限についてよく調べてください。移動を確実に成功させるには、次の要件について必ず理解するようにしてください。

  • ユーザー アカウントが TFS にある場合は、その TFS を削除したり、TFS に別のアカウントを割り当てたりすることはできません。たとえば、DomainA/UserA を DomainB/UserB に移動する場合は、DomainB/UserB が TFS に存在していると、移行のための ID コマンドは動作しません。

  • ローカル Administrators グループのメンバーは TFS に自動的に追加されます。したがって、移行するすべてのアカウントをそのグループから削除したうえで、ドメインまたは環境を変更してください。

詳細については、こちらで、ツールの制限を含め、ID が TFS でどのように変更されるかを確認してください。

TFS 配置の環境を変更する手順について、次に示すセクションで説明します。

  1. アクセス許可とアカウントの確認

  2. TFS サービスを停止する

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

  4. 新しいドメインに TFS を参加させる

  5. 新しい環境に対する SharePoint 製品の構成

  6. TFS のユーザー アカウントとサービス アカウントの移動

  7. Reporting Services と Analysis Services の構成

  8. TFS サービスの再起動

アクセス許可とアカウントの確認

TFS 用に環境の変更を正常に完了するには、ローカル コンピューターの管理者であるだけでなく、TFS および TFS 配置が依存するすべてのソフトウェアの管理者であることが必要です。たとえば、SQL Server、レポート機能、SharePoint 製品などのソフトウェアです (配置でレポート機能または SharePoint を使用する場合)。Project Server など TFS 配置と相互運用されるソフトウェアもその一例です。 ただし、ローカル Administrators グループのメンバーはすべて TFS に自動的に追加されるため、アカウントを移行しようとすると問題が発生する可能性があります。 したがって、環境の移動の一環として移行しないアカウントを使用する必要があります。 移動のためだけに特別な管理者アカウントを追加し、そのアカウントを使用して移行することを検討してください。

管理者レベルのアクセス許可の確認するには

  • 使用しているアカウントが、次のグループのメンバーであることを確認します。

    • サーバー: Administrators (ローカル Administrators グループまたはその同等のグループ)

    • TFS: Team Foundation Administrators および Admin Console Users

    • SQL Server: sysadmin

    • SharePoint 製品: Farm Administrators (TFS 配置が SharePoint 製品と統合されている場合)

これらのいずれのグループのメンバーでない場合は、必要なアクセス許可をすぐに取得します。

使用しているアカウントに必要なアクセス許可すべてが付与されていることを確認したら、アカウント チェックを開始して、移動先の環境の名前またはグループとの間に競合がないことを確かめます。 ローカル Administrators グループのメンバーのアカウントを移行できないことはわかっているため、まずは、そのアカウントを削除しましょう。

ローカル Administrators グループからの移行アカウントの削除

  • ローカル Administrators グループを開き、新しい環境に移行するすべてのアカウントを削除します。 影響を受ける可能性がある他のグループについて、この手順を繰り返します。

次は、現在の TFS 環境の ID の一覧を確認し、新しい環境に移行される可能性があるグループまたは個人のユーザー アカウントで、発生する可能性がある問題を探します。

ヒント

どのアカウントが自動的に移動できない可能性があるかを含め、環境の移動の一環として移動する ID の表や移行マップを作成することを検討してください。

ID の確認

  1. Team Foundation のアプリケーション層サーバーで、管理アクセス許可を使用してコマンド プロンプト ウィンドウを開き、%ProgramFiles%\Microsoft Visual Studio 12.0 Team Foundation Server\Tools に移動します。その後、次のコマンドを実行して、システムに現在存在する ID を表示します。

    TFSConfig Identities
    
  2. ID の一覧が表示されます。 これらのユーザーとグループを確認し、TFS の移動先の環境で ID の重複や問題が発生する可能性がないことを確かめて、潜在的な競合を緩和するための手順を実行します。

TFS サービスを停止する

サービスを停止することは、移動プロセスの最中や後にユーザーによる作業項目の変更や元の配置へのソース コードのチェックインを禁止するために役立ちます。

  1. TFS アプリケーション層コンピューターで、コマンド プロンプト ウィンドウを開き、Drive:\%programfiles%\Microsoft Team Foundation Server 12.0\Tools ディレクトリに移動します。

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

    TFSServiceControl quiesce

データベースと SQL Server Reporting Services の暗号化キーをバックアップする

  1. TFS の管理コンソールを開き、[スケジュールされたバックアップ] ページで完全バックアップを実行します。 これにより、バックアップ計画でバックアップ対象として構成したすべてのデータがバックアップされますが、このバックアップはすぐに実行されます。バックアップ計画でスケジュールした時間には従いません。 配置でレポート機能を使用している場合は、このバックアップ セットの一部として暗号化キーをバックアップできます。

    ジョブが完了したらウィンドウを閉じることができる

    (バックアップを構成していない場合は、バックアップ計画を作成してから、完全バックアップを実行できるようになります)

  2. バックアップが完了したら、そのバックアップがストレージ デバイスまたはネットワーク共有で使用できること、新しいハードウェアからアクセスできることを確認します。

新しいドメインに TFS を参加させる

  1. 各サーバーでコンピューターのプロパティを開きます。

  2. コンピューターのドメインの設定で、サーバーを参加させるドメインまたはワークグループに変更します。

    このコンピューターをドメインに参加させるためのアクセス許可を持つアカウントのユーザー名とパスワードを入力するためのダイアログが表示される場合は、適切な資格情報を入力します。

  3. コンピューターを再起動して、ドメインの変更を反映します。

    注意

    コンピューターを再起動すると、サービスまたはドライバーを開始できなかったことを示す警告が表示される場合があります。次の手順に進みます。

新しい環境に対する SharePoint 製品の構成

環境の設定で、以前の環境に対する信頼のない環境に変更した場合、SharePoint 製品が正しく動作するためには、SharePoint 製品 の構成が必要になることがあります。 ディレクトリ サービスからインポートしたユーザーの情報は、SharePoint サイトのユーザー選択ウィンドウ Web コントロールから利用できます。 サイト管理者とその他のユーザーは、アクセス許可を割り当てる際、ユーザー選択ウィンドウを使用して、ユーザーとグループを選択します。 ユーザーに関する情報が、すべてのユーザーについて信頼関係なしで 1 つまたは複数のフォレストにある場合、すべてのユーザーおよびグループの情報をこの Web コントロールから表示できるようにするには、追加の手順が必要になることもあります。

配置で SharePoint 製品 を使用していない場合、新しい環境に古い環境との双方向の信頼がある場合、Team Foundation の管理コンソールに SharePoint Web アプリケーションのエラーが表示されない場合は、この手順をスキップしてください。

  1. Team Foundation Server の配置をサポートする SharePoint ファームに含まれるすべてのサーバーで、管理アクセス許可を使用してコマンド プロンプト ウィンドウを開き、%programfiles%\Common Files\Microsoft Shared\Web Server Extensions\15\BIN ディレクトリに移動します。

  2. 次のコマンドを入力します。ここで、Key は SharePoint 製品 の配置で使用する暗号化キーです。

    stsadm.exe -o setapppassword -password Key

    注意

    このキーは、フォレストまたはドメインへのアクセスに使用するアカウントのパスワードを暗号化するために使用される暗号化文字列です。暗号化文字列は、ファーム内のすべてのサーバーで共通する必要がありますが、各ファーム内では一意の文字列を使用する必要があります。

  3. 次のコマンドを入力します。ここで、domain:DNSName はターゲット フォレストまたはドメイン、およびその DNS 名です。user,password は、ターゲット フォレストまたはドメインにアクセスできるアカウントのユーザー名とパスワードです。さらに、WebApp は Team Foundation Server の配置をサポートする Web アプリケーションの名前です。

    stsadm.exe -o setproperty -pn peoplepicker-searchadforests -pv domain:DnsName**,user,**password **-url http://**WebApp

  4. 次のコマンドを入力します。ここで URL は、チーム プロジェクト コレクションをサポートするサイト コレクションの URL です。Port は、そのサイト コレクションに割り当てられたポート番号です。さらに、UserName はそのサイト コレクションの所有者の役割を果たすアカウントのユーザー名です。

    **stsadm.exe -o siteowner -url http://URL:**Port -ownerlogin UserName

  5. Team Foundation Server の配置が使用するサイト コレクションごとに前の手順を繰り返します。

TFS のユーザー アカウントとサービス アカウントの移動

このトピックの冒頭で説明したように、特にユーザー移行を慎重に計画しないと、アカウントを移動するときに、非常に高い可能性で問題が発生します。 TFSConfig ID コマンドでは、TFS に既に存在するアカウントに、アカウントを移行することはできません。

両方のドメインでアカウント名が同じで、ドメイン名のみが異なる場合は、TFSConfig ID のバッチ モードを使用して、すべての ID をまとめて変更できます。 それ以外の場合は、ID を個別に変更し、異なるターゲット アカウント名を指定する必要があります。次に詳しく説明します。

  1. Team Foundation のアプリケーション層サーバーで、管理アクセス許可を使用してコマンド プロンプト ウィンドウを開き、%ProgramFiles%\Microsoft Visual Studio 12.0 Team Foundation Server\Tools に移動します。その後、次のコマンドを実行してサービス アカウントのサービス ID (SID) を新しいドメインに変更します。

    TFSConfig identities /change /fromdomain:OldComputerorDomainName /todomain:NewDomainName /account:OldTFSServiceAccount /toaccount:NewTFSServiceAccount
    

    注意

    サービス アカウントがネットワーク サービスなどのシステム アカウントでない場合は、サービス アカウントを直接移行できません。同じ名前のシステム アカウントが新しい環境に存在するためです。2 段階のプロセス変更を実行する必要があります。ID コマンド の例を参照してください。

  2. 新しい環境で同じ名前を持つすべてのアカウントを移行するには、次のコマンドを入力します。

    TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName
    

    これにより、アカウントのバッチ処理が実行されます。

  3. 環境間で名前が変更された 1 つ以上の ID が新しいドメインに含まれる場合は、その ID それぞれについて SID を手動で更新する必要があります。 たとえば、Christie Church のユーザー アカウントが前の環境では Fabrikam\CChurch で、新しい環境では NewFabrikam\ChristieC の場合は、Christie の SID を手動で更新する必要があります。 この要件を持つすべてのアカウントについて、次のコマンドを入力します。

    TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName /account:OldAccountName /toaccount:NewAccountName
    
  4. 次のコマンドを実行してサービス アカウントを更新します。

    TFSConfig Accounts /change /AccountType:ApplicationTier /account:AccountName /password:Password
    
  5. 配置でレポート機能を使用している場合は、次のコマンドを実行して、レポート機能に使用するデータ ソース アカウントを更新します。

    TFSConfig Accounts /change /AccountType:ReportingDataSource /account:AccountName /password:Password
    
  6. 配置で Team Foundation Server Proxy を使用している場合は、次のコマンドを実行して、プロキシに使用するサービス アカウントを更新します。

    TFSConfig Accounts /change /AccountType:Proxy /account:AccountName /password:Password
    

    注意

    信頼関係のないドメインに移動する場合は、チーム、プロジェクト、コレクション、および Team Foundation Server 自体にユーザーとグループを手動で追加する必要があることがあります。詳細については、「チーム プロジェクトへのユーザーの追加」、「チーム プロジェクト コレクションの管理アクセス許可の設定」、および「Team Foundation Server の管理アクセス許可の設定」を参照してください。

  7. 配置が Project Server と統合される場合、サービス アカウントが操作に必要なアクセス権を持つように構成する必要がある可能性があります。 詳細については、「TFS と Project Server を統合するためのアクセス許可の割り当て」および「TFS と Project Server の統合の構成」を参照してください。

Reporting Services と Analysis Services の構成

配置の一環としてレポートを使用していない場合は、この手順を省略できます。

レポート サーバーをこの種類の移動の一部として名前を変更した場合、レポート サーバーの新しい場所に Team Foundation Server をリダイレクトする必要があります。 さらに、ウェアハウスを再起動して、Analysis Services のデータベースを手動でリビルドする必要があります。

  1. Team Foundation の管理コンソールを開き、[レポート] ノードに移動し、設定を編集します。

    レポートが古いサーバーを指している

  2. サーバーの新しい名前を含むように 3 つのすべてのタブの値を変更します。 新しい環境でのデータ ソース アカウントについて指定した情報が正しいことを確認します。

    3 つのタブすべてで情報が正しいことを確認する

  3. [ジョブの開始] をクリックしてレポート機能を再起動します。

  4. [リビルドの開始] をクリックしてウェアハウスをリビルドします。

バックアップを構成する

ネットワーク共有名またはストレージ デバイス名をドメイン名の変更に合わせて変更した場合は、名前を変更したそれらのリソースを参照するように、スケジュールされたバックアップ計画を更新する必要があります。

  • 管理コンソールで、[スケジュールされたバックアップ] ノードに移動し、スケジュールされたバックアップを再構成して、新しいサーバー上の TFS データベースがバックアップされるようにします。 詳細については、「バックアップ スケジュールおよび計画の構成」を参照してください。

TFS サービスの再起動

新しい環境に関するすべての情報で TFS を更新したため、サービスを再起動します。

  1. TFS アプリケーション層コンピューターで、管理アクセス許可を使用してコマンド プロンプト ウィンドウを開き、Drive:\%programfiles%\Microsoft Team Foundation Server 12.0\Tools ディレクトリに移動します。

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

    TFSServiceControl unquiesce

Q & A

Q: 配置用にドメインではなく物理サーバーを変更する手順を教えてください。可能でしょうか。

A: はい。 それはハードウェア ベースの移動と呼ばれています。手順については、こちらを参照してください。 環境ベースの移動をハードウェア ベースの移動と組み合わせないでください。 まずハードウェアの移動を完了してから、環境を変更します。

Q: Project Server と統合する配置があります。移動した TFS と連携させるために実行する必要のある追加の手順はありますか。

A: はい。環境の移動完了後、TFSAdmin ProjectServer /RegisterPWA コマンドを /tfs/force、および /pwa の各オプション付きで使用して、TFS を Project Server に再登録する必要があります。 TFS と Project Server の統合の詳細については、こちらを参照してください。