インポートと移行のエラーのトラブルシューティング

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

データ移行ツールによって、Azure DevOps Services への移行を実行する前に修正する必要のあるエラーが通知されています。 この記事では、移行の準備中に発生する可能性がある最も一般的な警告とエラーについて説明します。 各エラーを修正した後、migrator validate コマンドをもう一度実行して解決策を確認します。

Note

移行ガイド使用してインポートを進行することをお勧めします。 このガイドは、必要に応じて技術ドキュメントにリンクしています。

Azure DevOps Server 2019 のリリースでは、Team Foundation Server (TFS) データベース インポート サービスが再ブランド化され、Azure DevOps のデータ移行ツールになりました。 データ移行ツール TfsMigrator の名前が、略して Migrator に変更されました。 サービスは、以前のインポート サービスとまったく同じように動作します。 TFS をブランド化として使用しているオンプレミスの古いバージョンを使用している場合でも、サポートされているバージョンのいずれかにアップグレードする限り、Migrateor を使用して Azure DevOps に移行できます。 詳細については、「Azure DevOps Server から Azure DevOps Services へのデータの移行」を参照してください

サイズの警告を解決する

大規模なコレクションでは、データ移行ツールの実行後に次のいずれかのメッセージが生成される場合があります。 これらの警告またはエラーのいずれかが発生した場合は、データベースのサイズ小さくすることをお勧めします。

次の警告は、SQL Azure VM メソッドを使用してインポートを完了する必要があるということです。 データベースが一定のサイズに達すると、Azure DevOps Services へのインポートを完了するように SQL Azure VM を設定する方が高速になります。 VM を設定してインポートを完了するには、警告メッセージからリンクされている手順に従います。

The database is currently {Database Size}GBs. This is above the recommended size of {DACPAC Size Limit}GBs to use the DACPAC import method. Please see the following page to learn how to import using a SQL Azure VM: https://aka.ms/AzureDevOpsImportLargeCollection

この警告 は、コレクションが大きすぎてインポートできないという意味ではありません

前の警告と同様に、次の警告は、SQL Azure 仮想マシン (VM) メソッドを使用してインポートを完了する必要があります。 警告メッセージからリンクされている手順に従って VM を設定し、インポートを完了します。

The largest table size is currently {Table size}GBs. This is above the recommended size of {Size limit}GBs to use the DACPAC import method. Please see the following page to learn how to import using a SQL Azure VM: https://aka.ms/AzureDevOpsImportLargeCollection  

この警告 は、コレクションが大きすぎてインポートできないという意味ではありません

次の警告は、データベースがメタデータの合計サイズの制限に近づいていることを意味します。 メタデータ サイズは、ファイル、コード、およびその他のバイナリ データを含まないデータベースのサイズを指します。 インポートする 前に、データベースのサイズ を小さくすることをお勧めします。 サイズを小さくすると、インポートを高速化するもう 1 つの利点があります。

The database metadata size is currently {Metadata Size}GBs. This is above the recommended size of {Warning Size}GBs. It's recommended that you consider cleaning up older data as described in [Cleaning up old data](/azure/devops/server/upgrade/clean-up-data).

この警告 は、コレクションがインポートに対して大きすぎるという意味ではなく 、メタデータ のサイズが他のほとんどのデータベースよりも大きいことを意味します。

サポートされている最大サイズを超えるデータベース メタデータ サイズ

前の警告とは異なり、次のエラー により、移行を進めるのが妨げになります

コレクション内のメタデータの量が大きすぎることを示します。 インポートを続行するには、指定された制限を下回るサイズを小さくする必要があります

The database metadata size is currently {Metadata Size}GBs. This is above the maximum supported size of {Metadata Limit}GBs.

照合順序の警告を解決する

照合順序の警告は、コレクション データベースの照合順序を参照します。 照合順序は、文字列値の並べ替えと比較方法を制御します。 いずれかのSQL_Latin1_General_CP1_CI_AS警告メッセージを使用していない、またはLatin1_General_CI_AS受信していないコレクション。

ネイティブサポートなし

次の警告を受け取ると、インポートを実行する前に照合順序への影響を考慮する必要があることを意味します。

The collection database's collation '{collation}' is not natively supported in Azure DevOps Services. Importing your collection will result in your collation being converted to one of the supported Azure DevOps Services collations. See more details at https://aka.ms/AzureDevOpsImportCollations

この警告 は、 コレクションをインポートできないことを意味するものではありません。

この警告では、警告の受け入れを確認する必要があります。 警告を受け入れると、データ移行ツールはインポートの準備を続行できます。

サポートされていない照合順序を Azure DevOps Services にインポートすると、照合順序はサポートされている照合順序に変換されます。 通常、この変換は問題なく機能しますが、インポートまたはインポートの失敗後に予期しない結果が発生する可能性があります。

たとえば、英語以外の文字を含む文字列の順序が異なる場合があります。 'é' のような英語以外の文字は、インポート後に英語 'e' に相当する場合があります。 サポートされていない照合順序を使用してコレクションをインポートする場合は、ドライラン インポートを完了して確認することが重要です。

ネイティブサポートなし、インターネット接続なし

データ移行ツールがインターネットに接続できない場合、照合順序の変換を検証できません。 これは単に警告であるため、移行プロセスを続行できます。 ただし、prepare コマンドを実行すると、インターネット接続が必要になり、その時点で照合順序の変換が検証されます。

The collections database's collation '{collation}' is not natively supported in Azure DevOps Services. It could not be validated that the collation can be converted during import to a supported Azure DevOps Services collation, as there was no internet connection. Please run the command again from a machine with an internet connection. See more details at https://aka.ms/AzureDevOpsImportCollations

サポートされていないデータベースの照合順序

一般に、サポートされていない照合順序は、インポート時にサポートされている照合順序に変換できます。 ただし、一部の照合順序は変換できません。 コレクションでこれらの照合順序のいずれかを使用している場合は、次 のエラー メッセージが表示されます

The collection database's collation '{collation}' is not supported for import to Azure DevOps Services. It will need to be changed to a supported collation before it can be imported. See more details at https://aka.ms/AzureDevOpsImportCollations

続行するには、コレクションの照合順序を、Azure DevOps Services でサポートされている照合順序のいずれかに変更する必要があります。

ID エラーを解決する

問題を防ぐために、移行前に ID エラーを修正します。 これらはまれであり、古い TFS 操作が新しい Azure DevOps Server で無効な場合に発生します。 たとえば、一部のユーザーが有効なユーザー グループに入ることができなくなりました。

次のセクションでは、最も一般的な ID エラーを解決するためのガイダンスを提供します。

ISVError: 100014

このエラーは、システム セキュリティ グループにアクセス許可が不足していることを示します。 たとえば、作成するすべてのコレクションには、Project Collection Valid Users と Project Collection 管理istrators グループがあります。 既定では、システムによって作成されます。 これらのグループは、アクセス許可の編集をサポートしていません。

このエラーは、1 つ以上のグループに必要なアクセス許可がないことを示します。 このエラーを解決するには、TFSSecurity.exe コマンドを使用して、フラグが設定されたシステム グループに必要なアクセス許可を適用します。 最初の手順では、実行する必要がある TFSSecurity コマンドを特定します。

プロジェクト コレクションの有効なユーザーのエラー メッセージ

強調表示されているデータ移行ツールのエラー メッセージを確認します。 フラグ付きグループが次の例のように "0-0-0-0-3" で終わる場合は、Project Collection Valid Users グループに対するアクセス許可が見つからない問題を修正する必要があります。

次のコマンドを実行し、スコープをエラー メッセージのスコープに置き換え、コレクションの URL を指定します。

TFSSecurity.exe /a+ Identity "{scope}\\" Read sid:{Group SID} ALLOW /collection:{collectionUrl}

スコープとグループ セキュリティ ID (SID) は、エラー メッセージから決定します。

ISVError:100014 Missing permission for group:Microsoft.TeamFoundation.Identity;S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-3 for scope:397c326b-b97c-4510-8271-75aac13de7a9. Expected:1 and Actual:0 

最後のコマンドは、次のエントリのように表示されます。

TFSSecurity.exe /a+ Identity "397c326b-b97c-4510-8271-75aac13de7a9\\" Read sid:S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-3 ALLOW /collection:https://localhost:8080/defaultcollection

Project Collection 管理istrators エラー メッセージ

強調表示されているデータ移行ツールのエラー メッセージを慎重に確認します。 次の例のように、フラグ付きグループが "0-0-0-0-1" で終わる場合は、Project Collection 管理istrators グループに対するアクセス許可が不足していることを修正する必要があります。 TFSSecurity.exeに対して次のコマンドを実行し、スコープをエラー メッセージのスコープに置き換え、コレクションを指定します。

TFSSecurity.exe /a+ Identity "{scope}\\" Read sid:{Group SID} ALLOW /collection:{collectionUrl}

TFSSecurity.exe /a+ Identity "{scope}\\" Write sid:{Group SID} ALLOW /collection:{collectionUrl}

TFSSecurity.exe /a+ Identity "{scope}\\" Delete sid:{Group SID} ALLOW /collection:{collectionUrl}

TFSSecurity.exe /a+ Identity "{scope}\\" ManageMembership sid:{Group SID} ALLOW /collection:{collectionUrl}

次の例では、エラー メッセージからスコープとグループ SID を取得し、前のコマンドに追加します。

ISVError:100014 Missing permission for group:Microsoft.TeamFoundation.Identity;S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1 for scope:0c7c2216-fa4b-4107-a203-82b324a147ef. Expected:15 and Actual:0 

最後のコマンドは、次のエントリのように表示されます。

TFSSecurity.exe /a+ Identity "0c7c2216-fa4b-4107-a203-82b324a147ef\\" Read sid:S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1 ALLOW /collection:https://localhost:8080/defaultcollection

TFSSecurity.exe /a+ Identity "0c7c2216-fa4b-4107-a203-82b324a147ef\\" Write sid:S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1 ALLOW /collection:https://localhost:8080/defaultcollection

TFSSecurity.exe /a+ Identity "0c7c2216-fa4b-4107-a203-82b324a147ef\\" Delete sid:S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1 ALLOW /collection:https://localhost:8080/defaultcollection

TFSSecurity.exe /a+ Identity "0c7c2216-fa4b-4107-a203-82b324a147ef\\" ManageMembership sid:S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1 ALLOW /collection:https://localhost:8080/defaultcollection

複数のエラーを修正する必要がある場合は、コマンドの実行を自動化するバッチ ファイルを作成することをお勧めします。 コマンドを実行したら、データ移行 検証 ツールを再実行して解決を確認する必要があります。 それでもエラーが解決しない場合は、Azure DevOps Services カスタマー サポートにお問い合わせください

ISVError: 300005

ISVError: 300005は、非グループ ID が everyone グループのメンバーであり、より一般的に有効なユーザー グループと呼ばれることを示します。 有効なユーザー グループは、すべてのプロジェクトとコレクションに対して定義された既定のグループです。 これらのグループは編集できません。 これらは、他の Azure DevOps アクセス許可またはセキュリティ グループのみをメンバーとして含むよう設計されています。 このエラーは、Active Directory (AD) グループまたはユーザー ID が有効なユーザー グループに直接メンバーシップを持っていることを示します。

重要

次のコマンドを実行してエラーを解決する前に、コレクションデータベースと構成データベースのバックアップがあることを確認してください。

有効なユーザー グループを直接編集できないため、構成データベースに対して SQL ステートメントを実行して、問題のある ID を削除し、無効なメンバーシップを修正する必要があります。 データ移行ツールで強調表示されているエラー メッセージを慎重に確認します。 GroupSidMemberIdコピーしScopeId、これらの値を次のコマンドに配置する必要があります。

DECLARE @p6 dbo.typ_GroupMembershipTable

INSERT into @p6 values('{GroupSid}','Microsoft.TeamFoundation.Identity','{MemberId}',0)
 
EXEC prc_UpdateGroupMembership @partitionId=1,@scopeId='{ScopeId}',@idempotent=1,@incremental=1,@insertInactiveUpdates=0,@updates=@p6,@eventAuthor='9EE20697-5343-43FC-8FC5-3D5D455D21C5',@updateGroupAudit=0

次の例では、ISVError の例を示します。データ移行ツールからのメッセージ300005します。

ISVError:300005 Unexpected non group identity was found to have direct membership to everyone group. GroupSid:S-1-9-1551374245-3746625149-2333054533-2458719197-2313548623-0-0-0-0-3, MemberId:76050ddf-4fd8-48c4-a1ff-859e44364519, ScopeId:7df650df-0f8b-4596-928d-13dd89e5f34f

エラー メッセージに一覧が MemberSid表示された場合は、構成データベースの dbo.tbl_Identity テーブルから取得 MemberID する必要があります。 MemberIDを使用すると、GUID を検索して.MemberSid

ISVError:300005 Unexpected non group identity was found to have direct membership to everyone group. GroupSid:S-1-9-1551374245-3746625149-2333054533-2458719197-2313548623-0-0-0-0-3, MemberSid:System.Security.Principal.WindowsIdentity;S-1-5-21-124525095-708259637-1543119021-1737349, ScopeId:7df650df-0f8b-4596-928d-13dd89e5f34f
DECLARE @MemberId uniqueidentifier 

SET @MemberId = (Select Id from dbo.tbl_Identity where Sid ='S-1-5-21-124525095-708259637-1543119021-1737349');

SELECT @MemberId

GroupSidMemberIdコピーし、ScopeIdSQL コマンドにコピーします。


DECLARE @p6 dbo.typ_GroupMembershipTable

INSERT into @p6 values('S-1-9-1551374245-3746625149-2333054533-2458719197-2313548623-0-0-0-0-3','Microsoft.TeamFoundation.Identity','76050ddf-4fd8-48c4-a1ff-859e44364519',0)
 
EXEC prc_UpdateGroupMembership @partitionId=1,@scopeId='7df650df-0f8b-4596-928d-13dd89e5f34f',@idempotent=1,@incremental=1,@insertInactiveUpdates=0,@updates=@p6,@eventAuthor='9EE20697-5343-43FC-8FC5-3D5D455D21C5'

Azure DevOps Server 構成データベースに対して完了したコマンドを実行します。 報告された各 ISVError: 300005 インスタンスに対して、このコマンドを繰り返します。 同じスコープ ID のエラーを 1 つのコマンドにバッチ処理できます。 コマンドを実行したら、データ移行ツールの検証をもう一度再実行して、エラーが修正されたことを確認します。 それでもエラーが解決しない場合は、Azure DevOps Services カスタマー サポートにお問い合わせください

重要

これらのエラーに対処するには、コレクションを添付する必要があります。

コマンドの実行時に -1 の結果が返される場合は、エラーを生成したコレクション データベースが Azure DevOps Server インスタンスにアタッチされていること、および構成データベースでコマンドを実行していることを確認します。

Microsoft Entra タイムアウト例外

まれに、データ移行ツールの準備コマンドの実行時に Microsoft Entra タイムアウト エラーが発生することがあります。

Exception Message: Request failed (type AadGraphTimeoutException)

このエラーは、コレクション内のユーザーに一致する Microsoft Entra ID を見つけるための Microsoft Entra ID への要求がタイムアウトしたことを意味します。一般に、通常の営業時間後など、1 日のビジー時間が短い時刻に prepare コマンドの実行を待機することで、このエラーを解決できます。

トラブルシューティングを行うには、準備マシンから Microsoft Entra ID 接続をテストします。 Microsoft Entra ID からユーザー情報を取得するには、次の手順に従います。

管理者特権モードで PowerShell を開き、次のコマンドの 'someone@somecompany.com' を Microsoft Entra ユーザー ID に置き換えます。

# Install the Microsoft Graph PowerShell module - ensuring to select Yes to All
Install-Module Microsoft.Graph 

# Import Users module
Import-Module Microsoft.Graph.Users

# Connect to Microsoft Entra and use your Microsoft Entra ID credentials (someone@somecompany.com) to login when the pop-up appears
Connect-MgGraph  -Scopes 'User.Read.All'

# Try to retrieve information on a user from your Microsoft Entra
Get-MgUser -Filter "UserPrincipalName eq 'someone@somecompany.com'"

手順が失敗した場合、またはユーザーが見つからない場合は、準備マシンと Microsoft Entra ID の間の接続をチェックします。 準備を行ってネットワーク トレースを実行し、ネットワークが呼び出しをブロックするかどうかを確認します。 そうでない場合は、Azure サポートにお問い合わせください。 ログ ファイルでユーザー情報を確認します。

Number of active users is {Number of Users}.

アクティブなユーザーの数が 50,000 人を超える場合、マップされる ID の量には、タイムアウト制限によって提供されるよりも多くの時間が必要になる場合があります。 "everyone" グループなどの大規模なグループがコレクションに含まれているかどうかを調べます。 可能であれば、これらのグループを削除して、もう一度やり直してください。 それでもこのエラーを解決できない場合は、Azure DevOps Services カスタマー サポートにお問い合わせください

プロセス エラーを解決する

一般的なプロセス エラーの解決の詳細については、個別 プロセス テンプレートページを参照してください。

フィールド検証エラーを解決する

VS403310

次のエラー メッセージは、コレクション ファイルの不整合が検出されたときに発生する可能性があります。 このエラーが発生した場合は、カスタマー サポートにお問い合わせください。

VS403310: An inconsistency was detected in some of the files in the collection.

VS403442

ローカル コレクションと Azure DevOps Services システム フィールドの間で、フィールド名の競合が発生することがあります。

In order to migrate successfully, you must rename field *{TFSfieldReferenceName}*. Given name *{TFSfieldName}* is reserved for field *{VSTSfieldReferenceName}*.

このエラーを解決するには、コレクション フィールドの名前を変更します。 witadmin の witadmin changefield コマンドを使用します。

witadmin changefield /collection:http://AdventureWorksServer:8080/DefaultCollection /n:TFSfieldReferenceName /name:newFieldName

VS403443

次のエラーは、ローカル コレクションと特定の Azure DevOps Services フィールドの間にフィールド名の競合があることを示しています。

In order to migrate successfully, you must rename field *{TFSfieldReferenceName}* to *{VSTSfieldName}*. Given name for *{TFSfieldReferenceName}* is *{TFSfieldName}*

このエラーを解決するには、witadmin changefield コマンドを使用します。 詳細については、witadmin を参照してください

witadmin changefield /collection:http://AdventureWorksServer:8080/DefaultCollection /n:TFSfieldReferenceName /name:VSTSfieldName

VS403444

次のエラーは、ローカル コレクションと Azure DevOps Services の間にフィールドの種類の競合があることを示しています。

witadmin を使用すると、HTML フィールドまたは PlainText フィールドに対してのみデータ型を変更できます。

In order to migrate successfully, you must set type of field *{TFSfieldReferenceName}* to *{Type}*. Given type for *{TFSfieldReferenceName}* is *{collectionType}*.

フィールド型が HTML または PlainText の場合は、その型を必要な型に変更できます。

witadmin changefield /collection:http://AdventureWorksServer:8080/DefaultCollection /n:TFSfieldReferenceName  /type:PlainText | HTML

Note

フィールドの種類が HTML または PlainText とは異なり、フィールド データが重要でない場合、またはフィールドがプロジェクトで使用されていない場合は、フィールドを削除することをお勧めします。

witadmin deletefield /collection:http://AdventureWorksServer:8080/DefaultCollection /n:TFSfieldReferenceName

重要

フィールドを削除すると、コレクション全体でフィールド データが失われます。

インポート エラーを解決する

インポート中に発生するエラーは、検証エラーとインポートエラーの 2 つのカテゴリのいずれかに分類されます。

検証エラー

検証エラーは、インポートが開始されなかったことを意味します。 データ移行ツールはインポートをキューに登録しようとしましたが、代わりにエラーが発生しました。 インポート要求が無効です。 エラー メッセージを修正してから、もう一度インポートしてみてください。

VS403254

Azure DevOps Services インポートに入力したリージョンはサポートされていません。

VS403254: Region {0} might not be used for the Import, it is not a supported region.

インポート仕様ファイルを開き、指定したリージョンを、そのリージョンの正しい短い名前で 更新します

VS403249

チームが選択した組織名は、既存の組織で既に使用されています。 すべての Azure DevOps Services インポートは、インポート時に作成された新しい組織に送信されます。

VS403249: The organization {0} already exists. Please select a different name and try the import again.

インポートを再試行する前に、別の組織名を選択し、インポート仕様ファイルを更新します。

VS403250 & VS403286

DACPAC は、デタッチされたコレクションから構築されていません。

VS403250: The dacpac is not a detached Azure DevOps Server Collection database.

VS403286: The dacpac is from a Azure DevOps Server Configuration database. You must use a detached Azure DevOps Server Collection database.

コレクション データベースをデタッチ し、DACPAC をもう一度生成します。

VS403243

指定された SQL 接続文字列を使用してデータベースに接続できません。

VS403243: Unable to connect to the database using the provided SQL Connection String {0}.

指定されたパラメーターを確認して、正しいことを確認してから、もう一度やり直してください。

VS403260 & VS403351

コレクション データベースがデタッチされていません。

VS403260: The database is not detached.

VS403351: The DACPAC or source database is missing an expected table. It's possible that the database was not correctly detached from Azure DevOps Server.

コレクション データベースをデタッチ し、インポート キューを再試行します。

VS403261

接続文字列は暗号化する必要があります。それ以外の場合は、パスワードがクリアで送信されます。

VS403261: The SQL connection string must use encryption.

SQL 接続文字列に Encrypt=true を追加します。

VS403262

接続文字列は SQL 認証を使用する必要があります。

VS403262: The SQL connection string must use SQL Authentication, Integrated Authentication is not supported.

SQL 接続文字列に統合セキュリティ = False を追加します。

VS403263

SQL サインイン ユーザー アカウントに必要なデータベース ロールがありません。

VS403263: The User ID {0} must be member of the database role {1}.

サインイン用のユーザー アカウントに 'TF Standard Edition XECROLE' ロールが割り当てられていることを確認します。

Note

既存の SQL ログインへの追加TFSEXECROLEに使用sp_addrolememberする場合には、既知の問題があります。 ロール メンバーシップは、その ID を使用して開いているすべての接続が閉じられるまで適用されません。 VS403263 エラーが発生し、ID にロールがあることを確認した場合は、インポート用に新しい ID を作成することをお勧めします。 インポートに使用できる新しい SQL ログインを作成する方法の詳細については、「大規模なコレクションのインポート」を参照してください。

VS403264

接続文字列は、Azure DevOps Server コレクション データベースを指していません。

VS403264: The database is not a Azure DevOps Server Collection database, it cannot be used for import.

コレクション データベースを指す接続文字列を確認または修正します。

VS40325

Azure DevOps Server Update によって、ファイル移行ジョブがキューに登録されました。 インポートは、このジョブが完了するまで実行できません。 このジョブの完了時間は、コレクションのサイズによって異なります。

VS403255: The collection cannot be imported due to an ongoing post upgrade job. Please wait and try again later

コレクション データベースで次のクエリを実行することで、ジョブの進行状況を追跡できます。

SELECT  COUNT (*) as remaining_files_to_migrate
FROM    tbl_FileReference
WHERE   PartitionId > 0
        AND MigrateFileId IS NOT NULL

移行するファイルの数が 0 になったらメインデータ移行ツールを実行できます。

VS403282

ソースの場所の値に新しい行文字が存在します。 この文字は、Windows コンソールから SAS キーをコピーした後メイン再び使用できます。

VS403282: The source location parameter contains a new line character. Please ensure the SAS key is defined on a single line in the import specification file.

改行を削除して、もう一度やり直してください。

VS403271

インポート ファイルと DACPAC は、ターゲットの Azure DevOps Services リージョンへのインポートを完了するために必要な Azure リージョンに配置されていません。

VS403271: It appears that your DACPAC was uploaded to East US. It's required that customers targeting Central US for import put their DACPACs in Central US. Please move your DACPAC to Central US and requeue the import.

必要なリージョンに新しい Microsoft Azure ストレージ アカウント を作成し、ファイルをコピーします。 次の例は、AzCopy を使用してデータをコピーする方法を示しています。

AzCopy.exe /Source:https://accountSCUS.blob.core.windows.net/mycontainer /SourceKey:"primary access key" /Dest:https://accountCUS.blob.core.windows.net/mycontainer /DestKey:"primary access key" /S

VS403316

コレクション内の一部の Team Foundation バージョン管理 (TFVC) ファイルで不整合が検出されました。

VS403316: An inconsistency was detected in some TFVC files for this collection. The inconsistency needs to be corrected prior to running an import to Azure DevOps Services. Please reach out to https://aka.ms/AzureDevOpsImportSupport for assistance with addressing this issue.

Azure DevOps Services カスタマー サポートと連携します。 サポート チケットを開くと、エラーを解決するために協力します。

VS403366

データ移行ツールが SQL Azure VM に接続できませんでした。

VS403366: A problem occurred while attempting to connect to your database. Please verify that your connection string is correct and that all required IP addresses for Azure DevOps Services have been provided exceptions for your machines firewall.

List of Azure DevOps Services IPs:

接続文字列に情報が正しく入力されていること、および VM に接続できることを確認します。

エラー メッセージに一覧表示される IP は、Azure DevOps Services 用です。 Azure DevOps Services IP は、デプロイ中に一時的に変更される可能性があります。 それらをファイアウォールの例外に追加し、インポートをもう一度キューに入れてみてください。 IP アドレスの一覧については、「大規模なコレクションのインポート」、「Azure DevOps Services IP のみにアクセスを制限する」を参照してください

VS403373

データ移行ツールでは、SAME コレクションの複数のコピーのインポートはサポートされていません。 ただし、コレクションの分割コピーのインポートはサポートされません。 DataImportCollectionID の GUID を変更します

SQL Server Management Studio (SSMS) から、まだインポートしていない分割コピーの拡張プロパティを開きます。 新しく生成された GUID を "TFS_DATAIMPORT_COLLECTIONID" プロパティに追加します。 次に、prepare コマンドを再実行し、新しいimport.json ファイルを使用してインポートをキューに入れます。

VS403379

このコレクション内の 1 つ以上のプロジェクトが論理的に削除されたステージにある場合、データのインポートは失敗します。 データのインポートを実行する前に、論理的に削除されたプロジェクトを復元するか、完全に削除します。 詳細については、「プロジェクトを削除する」を参照してください

VS403379: Data import will fail as one or more projects found in this collection are in the soft-deleted stage. Please restore the soft-deleted project(s) or delete them permanently before running the data import.

データ移行ツールを実行しているコレクションに、論理的に削除されたステージのプロジェクトがあることを確認します。 プロジェクトが削除されると、メイン削除されたプロジェクトを復元できる 28 日間、論理的な削除状態になります。 削除されたプロジェクトを復元する方法については、「プロジェクトの復元」 参照してください。 論理的に削除されたステージにプロジェクトがある場合は、データのインポートを実行する前に、プロジェクトを完全に削除するか、元に戻します。

インポート エラー

インポートエラーは、インポートがキューに入ったが完了しなかったことを意味します。 インポートをキューに入れた個人は、エラーの電子メール通知を受け取ります。 ほとんどの場合、この電子メールにはエラーの理由が含まれています。 その場合は、メールとこのページに記載されているトラブルシューティング手順を使用してエラーを解決し、インポートを再試行してください。

エラーがより複雑な場合は、受信した電子メールにカスタマー サポート ケースを提出する方法が記載されています。 カスタマー サポート ケースを送信した後、チームは Azure DevOps Server インスタンスをオンラインに戻してコレクションを再アタッチすることでロールバックする必要があります。 その後、チーム メンバーは作業を続行できます。 問題の原因となったエラーが解決されるまで、インポートを再試行しないことをお勧めします。