プロジェクト コレクションを分割する
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
ビジネスが変わると、1 つのプロジェクト コレクションを複数のプロジェクト コレクションに分割できます。 次に例を示します。
コレクション内のプロジェクトを組織内の部署に合わせる必要があり、コレクション内のプロジェクトは別のユニットによって所有されるようになりました。
以前のバージョンの Azure DevOps Server からアップグレードした場合、コレクションは 1 つだけであり、プロジェクトを個別のコレクションに整理して、セキュリティまたはビジネスの調整の理由から行う必要があります。
コレクション内のプロジェクトの一部の所有権を、Azure DevOps Server の独自のデプロイを持つリモート オフィスに変更する必要があります。 このシナリオでは、最初にコレクションを分割してから、結果のコレクションの 1 つをリモート オフィス展開に移動する必要があります。
プロジェクト コレクションを分割するには、次の手順に従います。
コレクションを分割する準備をする
コレクションを分割する
分割コレクションを構成する
始める前に
サーバーおよび SQL Server と Azure DevOps Server の管理者であることを確認します。 管理者でない場合は、 追加されます。
1-a. コレクションをデタッチする
まず、実行されている Azure DevOps Server のデプロイからコレクションをデタッチします。 コレクションをデタッチすると、コレクション データベース自体だけでなく、すべてのジョブとサービスが停止します。 さらに、デタッチ プロセスは、構成データベースからコレクション固有のデータをコピーし、プロジェクト コレクション データベースの一部として保存します。
プロジェクト コレクションをデタッチする
分割するコレクションをホストするサーバー上の Azure DevOps の管理コンソールを開きます。
Project Collectionsを選択し、コレクションの一覧で分割するコレクションを選択します。
この例では、管理者は TestProjects を選択します。
ヒント
プロジェクト コレクションの既定の名前は DefaultCollection です。 このデータベースを分割する場合は、2 番目のコレクションに別の名前を付けます。これは接続時の既定の選択肢であるためです。
[ General ] タブで、[コレクションの を選択。
Project コレクションの状態の理由 ダイアログ ボックスが開きます。 入力したテキストがユーザーに表示されます。 Stop を選択し、コレクションが停止するのを待ちます。 停止すると、その状態は Offline として表示されます。
[ General タブで、 Detach コレクションを選択します。
Detach プロジェクト コレクション ウィザードが開きます。
(省略可能) Provide のプロジェクト コレクションのサービス メッセージ ページの Servicing Message で、このコレクション内のプロジェクトに接続しようとするユーザーにメッセージを提供します。
プロジェクト コレクションのデタッチに使用するReview 設定ページで、詳細を確認します。 設定を変更するには、 Previous を選択します。 正しい場合は、 Verify を選択します。
すべての準備チェックが正常に完了したら、 Detach を選択します。
Monitor で、プロジェクト コレクションのデタッチの進行状況ページで、すべてのプロセスが完了したら、Next を選択します。
(省略可能) このプロジェクト コレクションの補足情報を確認 ページで、ログ ファイルの場所を選択またはメモし、ウィザードを閉じます。
管理コンソールのコレクションの一覧にプロジェクト コレクションが表示されなくなります。
1-b. コレクション データベースをバックアップする
コレクションをデタッチしたら、別の名前でコピーをサーバーに復元する前に、そのデータベースをバックアップする必要があります。 そのコピーは、別のコレクションに分割する元のコレクションの一部のデータベースになります。 このタスクを実行するには、SQL Server で提供されているツールを使用します。
コレクション データベースをバックアップする
個々のデータベースを手動でバックアップおよび復元する方法については、「 SQL Server でのデータベースのバックアップと復元およびバックアップ スケジュールと計画の作成を参照してください。 デプロイに一致する SQL Server のバージョンを必ず選択してください。
重要
元の展開で SQL Server の Enterprise エディションまたは Datacenter エディションを使用していて、Standard エディションを実行しているサーバーに分割するデータベースを復元する場合は、SQL Server 圧縮を無効にして作成されたバックアップ セットを使用する必要があります。 データ圧縮を無効にしない限り、Standard Edition を実行しているサーバーに Enterprise または Datacenter エディションのデータベースを正常に復元することはできません。 圧縮を無効にするには、Azure DevOps データベースの Disable SQL Server データ圧縮の手順に従います。
2-a. コレクション データベースを復元する
コレクションを分割するときは、コレクション データベースのバックアップを、Azure DevOps Server のデプロイをサポートするように構成された SQL Server のインスタンスに復元する必要があります。 データベースを復元するときは、元のコレクション データベースの名前とは異なる名前を付ける必要があります。
ヒント
次の手順では、SQL Server Management Studio を使用して SQL Server 2012 でプロジェクト コレクション データベースを復元する方法の概要を示します。 個々のデータベースを手動でバックアップおよび復元する方法の詳細については、「 SQL Server でのデータベースのバックアップと復元を参照してください。 デプロイに一致する SQL Server のバージョンを必ず選択してください。
新しい名前でコレクション データベースを復元する
SQL Server Management Studio を開き、分割するプロジェクト コレクションのデータベースをホストするインスタンスに接続します。
オブジェクト エクスプローラーで、Databases を展開し、分割するデータベースのサブメニューを開き、 Tasksを選択し、 Restoreを選択して、 Databaseを選択します。
General ページで [データベースの復元] ウィンドウが開きます。
Source で、プロジェクト コレクション データベースが選択されていることを確認します。 Destinationで、データベースのコピーの名前を指定します。 Tfs_プレフィックスを保持し、個別の名前を追加します。 通常、その名前は分割プロジェクト コレクションの名前です。 Restore プランで、復元するバックアップ セットが復元先であることを確認します。 これらが有効なセットであることを確認するには、[バックアップ メディアを選択しページを選択でOptionsを選択します。
Restore オプションで、すべてのチェック ボックスを空白のままにします。 Recovery 状態が
RESTORE WITH RECOVERY に設定されていることを確認します。 ログ バックアップで、 復元中の状態のソース データベースを削除しますチェック ボックスをオフにし、 OKを選択します。ヒント
データベースが使用中であり、上書きできないことを示すエラー メッセージが表示されて復元操作が失敗した場合は、データベースの新しい名前を反映するようにすべての論理ファイル名を手動で構成する必要がある場合があります。 ページの選択で、Filesを選択し、復元する各ファイルの横にある省略記号ボタンを選択し、ファイルの名前に古い名前ではなくデータベースの新しい名前が反映されていることを確認します。 次に、復元操作をもう一度試してください。
2-b. 元のコレクション データベースをアタッチする
別の名前でデータベースを復元したら、元のコレクション データベースを Azure DevOps Server のデプロイに再アタッチします。
コレクションをアタッチする
Azure DevOps の管理コンソールを開きます。
Project Collections を選択し、 Attach Collection を選択します。
Attach プロジェクト コレクション ウィザードが開きます。
アタッチするプロジェクト コレクション データベースの選択 ページの SQL Server Instance で、コレクション データベースをホストするサーバーとインスタンスの名前を指定します (まだ表示されていない場合)。
Databases一覧で、アタッチするコレクション データベースを選択します。
プロジェクト コレクション情報の入力ページで、Nameにコレクションの名前を指定します (まだ存在しない場合)。 これは元のコレクションであるため、以前と同じ名前のままにすることができます。 Descriptionで、必要に応じてコレクションの説明を指定します。
プロジェクト コレクションのアタッチに使用する Review 設定 ページで、情報を確認します。
設定を変更するには、 Previous を選択します。 すべての設定が正しい場合は、[ 検証を選択します。
すべての準備チェックが正常に完了したら、 Attach を選択します。
Monitor のプロジェクト コレクションアタッチの進行状況ページで、すべてのプロセスが完了したら、Next を選択します。
(省略可能) このプロジェクト コレクションの補足情報を確認 ページで、ログ ファイルの場所を選択またはメモし、ウィザードを閉じます。
プロジェクト コレクションが管理コンソールのコレクションの一覧に表示されます。 コレクションの状態が Onlineとして表示されている場合は、続行する前に 停止する必要があります 一覧からコレクションを選択し、 General タブで Stop Collection を選択します。
2-c. 名前が変更されたコレクション データベースをアタッチする
元のコレクション データベースをアタッチした後、名前を変更したコレクションを Azure DevOps Server のデプロイにアタッチする必要があります。 このコレクションがアタッチされている場合は、停止したままです。 重複するすべてのプロジェクトが削除されるまで、開始することはできません。
名前が変更されたコレクション データベースをアタッチする
Azure DevOps の管理コンソールを開きます。
Project Collections を選択し、Attach Collection を選択してウィザードを開きます。
アタッチするプロジェクト コレクション データベースの選択ページの SQL Server Instance で、名前が変更されたコレクション データベースをホストするサーバーの名前とインスタンスを指定します (まだ一覧に含まれていない場合)。
Databases一覧で、名前を変更したコレクション データベースを選択します。
[ プロジェクト コレクション情報の入力 ページで、名前が変更されたコレクションの名前を Name に入力します。この名前は、コレクションの元の名前とは異なります。 これは、名前が変更されたデータベースに付けた名前と一致する必要があります。Tfs_ プレフィックスは付けておく必要があります。
(省略可能) Descriptionにコレクションの説明を入力します。
プロジェクト コレクションのアタッチに使用する Review 設定 ページで、情報を確認します。 設定を変更するには、 Previous を選択します。 すべての設定が正しい場合は、[ 検証を選択します。
すべての準備チェックが正常に完了したら、 Attach を選択します。
Monitor のプロジェクト コレクションアタッチの進行状況ページで、すべてのプロセスが完了したら、Next を選択します。
(省略可能) このプロジェクト コレクションの補足情報を確認 ページで、ログ ファイルの場所を選択またはメモし、ウィザードを閉じます。
管理コンソールのコレクションの一覧にコレクションの名前が表示され、その状態は Offline として表示されます。
両方のコレクションに一意の ID がアタッチされていることを確認するには、管理コンソールでイベント ログに移動し、両方のコレクション添付操作のログ ファイルを開きます。 CollectionProperties の GUID は一致必要があります。
万が一 CollectionProperties GUID が一致する場合は、/clone パラメーターを使用して 2 番目のコレクションで TFSConfig Collection コマンド を実行して続行する前に、ID を一意の ID に変更します。
2-d。 分割コレクションのプロジェクトを削除する
Azure DevOps Server にアタッチされたコレクションのコピーが 2 つになったので、両方のコレクションにプロジェクトが残されないように、元のコレクションまたは名前が変更されたコレクションから各プロジェクトを削除する必要があります。
重要
1 つのプロジェクトが複数のコレクションに存在することはできません。 分割コレクション間で重複するすべてのプロジェクトを削除するまで、名前を変更したコレクションを開始することはできません。
コレクションからプロジェクトを削除する
Azure DevOps の管理コンソールを開きます。
Project Collections を選択し、コレクションの一覧で、中断した元のプロジェクト コレクションを選択して分割します。
Projects タブのプロジェクトの一覧で、コレクションから削除するプロジェクトを選択し、Delete を選択します。
ヒント
一度に複数のプロジェクトを選択して削除できます。
[ワークスペース データの削除] チェック ボックスをオンにし、[ 外部成果物の削除 ] チェック ボックスをオフのままにして、[ 削除を選択します。
[外部成果物の削除] チェック ボックスがオフで、プロジェクトがラボ管理を使用するように構成されている場合、プロジェクトに関連付けられている仮想マシンとテンプレートは System Center Virtual Machine Manager から削除されます。 名前が変更されたコレクション内のプロジェクトでは使用できなくなります。 (ラボ管理は TFS 2017 以降のバージョンでは非推奨とされていることに注意してください)。
元のプロジェクト コレクションでホストしないプロジェクトの削除が完了したら、名前を変更したプロジェクト コレクションをコレクションの一覧から選択します。 次に、 Projects タブで、不要なプロジェクトを新しいコレクションから削除します。
両方のコレクションに一意のプロジェクトのセットが含まれるまで、このセクションの手順を繰り返します。
2-e. プロジェクト コレクションを開始する
プロジェクトを削除した後、両方のコレクションを再起動します。
プロジェクト コレクションを開始する
Azure DevOps の管理コンソールを開きます。
Project Collectionsを選択し、コレクションの一覧で、停止したコレクションを選択して分割します。
[ General ] タブで、[コレクションの開始 を選択。
新しい名前で添付したコレクションに対して手順 2 を繰り返します。
3-a. 分割コレクションのユーザーとグループを構成する
両方の分割コレクションが同じドメインに残り、元のコレクションの管理者が両方のコレクションにアクセスできるようにする場合は、この手順をスキップできます。
コレクションを分割したら、両方のコレクションのアクセス許可グループを、それらのコレクションを管理するユーザーとグループで更新する必要があります。 詳細については、「 プロジェクト コレクションの管理者アクセス許可を設定するを参照してください。
3-b. プロジェクトのユーザーとグループを構成する
分割コレクションが同じドメインに残り、元のコレクション内のプロジェクトのユーザーに両方のコレクションへのアクセスを許可する場合は、この手順をスキップできます。
両方のコレクションの管理者を構成した後、自分またはそれらの管理者は、各コレクション内のプロジェクトへのユーザーとグループのアクセスを構成する必要があります。 デプロイによっては、Reporting Services でこれらのユーザーのアクセス許可を構成する必要がある場合もあります。 詳細については、「 プロジェクトまたはチームにユーザーを追加するを参照してください。
Q & A
Q: デプロイではレポートが使用されます。 コレクションを分割するときに実行する必要がある追加の手順はありますか?
A: はい。両方のコレクションに一意のプロジェクト セットが含まれるように、プロジェクトの削除が完了した後でレポートを分割する必要があります。 また、データ ウェアハウスを再構築する必要もあります。
プロジェクトを削除した後、分割コレクションで使用されるレポートを別のフォルダーに移動し、元のフォルダーから削除します。
重要
レポート フォルダーは両方の場所に存在します。 レポート フォルダーを削除する前に、すべてのレポートを適切に移動してください。
レポートを個別のフォルダーに分割する
- レポート マネージャーで、分割コレクションをサポートするレポートを、そのコレクションの適切なフォルダーに移動します。 詳細については、「 Move Items Page」を参照してください。
レポートを分割し、両方のコレクションを開始したら、Azure DevOps 用のウェアハウスと Analysis Services 用のデータベースを再構築します。 この手順を実行して、コレクションを分割した後にレポートとダッシュボードが展開に対して正しく機能し、展開内の他のコレクションとの競合が発生しないようにする必要があります。
データ ウェアハウスと Analysis Services データベースを再構築する
Azure DevOps の管理コンソールを開きます。
ナビゲーション バーで Reporting を選択します。
Reportingで、[再構築開始を選択します。
[ウェアハウス データベースと Analysis Services データベースの構築] ダイアログ ボックスで、[OKを選択します。
Note
ウェアハウスは引き続き再構築され、再構築の開始アクションが完了した後もデータは再入力されます。 デプロイのサイズとデータの量によっては、プロセス全体が完了するまでに数時間かかる場合があります。