Résoudre les erreurs de migration

L’outil de migration de données signale les erreurs que vous devez corriger avant de migrer vers Azure DevOps Services. Cet article décrit les avertissements et erreurs les plus courants que vous pouvez recevoir lorsque vous préparez la migration. Après avoir corrigé chaque erreur, réexécutez la commande de validation de migration pour vérifier la résolution.

Résoudre les avertissements liés à la taille

Les collections extra-volumineuses peuvent générer l’un des messages suivants après l’exécution de l’outil de migration de données. Si vous recevez l’un de ces avertissements ou erreurs, nous vous recommandons d’essayer de réduire la taille de votre base de données.

L’avertissement suivant signifie que vous devez utiliser la méthode de machine virtuelle SQL Azure pour terminer votre migration. Une fois qu’une base de données atteint une certaine taille, il devient plus rapide de configurer une machine virtuelle SQL Azure pour effectuer la migration vers Azure DevOps Services. Pour configurer la machine virtuelle et terminer votre migration, suivez les instructions liées à partir du message d’avertissement.

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

Cet avertissement ne signifie pas que votre collection est trop volumineuse pour la migration.

Similaire à l’avertissement précédent, l’avertissement suivant signifie que vous devez utiliser la méthode de machine virtuelle SQL Azure pour terminer la migration. Pour configurer la machine virtuelle et terminer votre migration, suivez les instructions liées à partir du message d’avertissement.

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

Cet avertissement ne signifie pas que votre collection est trop volumineuse pour la migration.

L’avertissement suivant signifie que votre base de données approche de la limite pour la taille totale des métadonnées. La taille des métadonnées fait référence à la taille de votre base de données sans inclure de fichiers, de code et d’autres données binaires. Nous vous recommandons de réduire la taille de votre base de données avant la migration. La réduction de la taille offre l’autre avantage d’accélérer votre migration.

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).

L’avertissement ne signifie pas que votre collection est trop volumineuse pour la migration, plutôt que sa taille de métadonnées est supérieure à la plupart des autres bases de données.

Taille des métadonnées de base de données sur la taille maximale prise en charge

Contrairement aux avertissements précédents, l’erreur suivante vous empêche de passer à l’avant avec votre migration.

Il indique que le volume de métadonnées de votre collection est trop volumineux. Pour poursuivre la migration, vous devez réduire la taille inférieure à la limite indiquée.

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

Résoudre les avertissements liés au classement

Les avertissements de classement font référence au classement de votre base de données de collection. Les classements contrôlent la façon dont les valeurs de chaîne sont triées et comparées. Regroupements qui n’utilisent pas ou Latin1_General_CI_AS SQL_Latin1_General_CP1_CI_AS ne reçoivent pas l’un des messages d’avertissement.

Aucune prise en charge native

La réception de l’avertissement suivant signifie que vous devez prendre en compte les implications du classement avant d’effectuer la migration.

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

Cet avertissement ne signifie pas que vous ne pouvez pas migrer votre collection.

Cet avertissement vous oblige à confirmer l’acceptation de l’avertissement. L’acceptation de l’avertissement permet à l’outil de migration de données de poursuivre les préparations de la migration.

Lorsque vous migrez un classement non pris en charge dans Azure DevOps Services, le classement est transformé en classement pris en charge. Bien que cette transformation fonctionne généralement sans problème, des résultats inattendus après la migration ou des échecs de migration peuvent se produire.

Par exemple, les clients peuvent remarquer un ordre différent pour les chaînes contenant des caractères non anglais. Les caractères non anglais tels que « é » peuvent devenir équivalents à l’anglais « e » après la migration. Il est important de terminer et de vérifier une migration d’exécution de test lorsque vous migrez une collection avec un classement non pris en charge.

Aucune prise en charge native, aucune connexion Internet

Si l’outil de migration de données ne peut pas se connecter à Internet, il ne peut pas valider la conversion de votre classement. Il s’agit uniquement d’un avertissement, ce qui vous permet de poursuivre votre processus de migration. Toutefois, lorsque vous exécutez la commande de préparation , une connexion Internet est requise et la conversion de classement est validée à ce moment-là.

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 migration 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

Classement de base de données non pris en charge

En règle générale, vous pouvez convertir un classement non pris en charge en classement pris en charge au moment de la migration. Toutefois, certains classements ne peuvent pas être convertis. Si votre collection utilise l’un de ces classements, vous recevez le message d’erreur suivant.

The collection database's collation '{collation}' is not supported for migration 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

Pour continuer, vous devez remplacer le classement de votre collection par l’un des classements pris en charge sur Azure DevOps Services.

Résoudre les erreurs d’identité

Corrigez les erreurs d’identité avant la migration pour éviter les problèmes. Ils sont rares et se produisent lorsque les anciennes opérations TFS ne sont pas valides sur un nouveau serveur Azure DevOps. Par exemple, certains utilisateurs ne peuvent plus se trouver dans un groupe d’utilisateurs valides.

Les sections suivantes fournissent des conseils pour résoudre les erreurs d’identité les plus courantes.

ISVError : 100014

Cette erreur indique qu’une autorisation est manquante dans un groupe de sécurité système. Par exemple, chaque collection que vous créez comporte des utilisateurs valides de la collection de projets et des groupes Administration istrators. Le système les crée par défaut. Ces groupes ne prennent pas en charge la modification de leurs autorisations.

Cette erreur indique qu’un ou plusieurs groupes manquent une autorisation qu’il doit avoir. Pour résoudre cette erreur, utilisez la commande TFSSecurity.exe pour appliquer les autorisations attendues aux groupes système avec indicateur. Votre première étape consiste à identifier la commande TFSSecurity que vous devez exécuter.

Message d’erreur Utilisateurs valides de la collection de projets

Examinez un ou plusieurs messages d’erreur mis en surbrillance par l’outil de migration de données. Si le groupe avec indicateur se termine par « 0-0-0-0-3 », comme dans l’exemple suivant, vous devez corriger une autorisation manquante pour le groupe Utilisateurs valides de la collection de projets.

Exécutez la commande suivante, remplacez l’étendue par celle du message d’erreur et spécifiez l’URL de votre collection.

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

Vous déterminez l’étendue et l’ID de sécurité de groupe (SID) à partir du message d’erreur.

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 

La commande finale s’apparente à l’entrée suivante :

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

Message d’erreur de la collection de projets Administration istrators

Examinez attentivement les messages d’erreur mis en surbrillance par l’outil de migration de données. Si le groupe avec indicateur qui se termine par « 0-0-0-0-1 », comme dans l’exemple suivant, vous devez corriger une autorisation manquante pour le groupe collection de projets Administration istrators. Exécutez les commandes suivantes sur TFSSecurity.exe, remplacez l’étendue par celle du message d’erreur et spécifiez votre collection.

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}

Dans l’exemple suivant, prenez l’étendue et le groupe SID à partir du message d’erreur et ajoutez-les à la commande précédente.

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 

La commande finale s’apparente à l’entrée suivante :

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

Lorsque vous devez corriger plusieurs erreurs, nous vous recommandons de créer un fichier batch pour automatiser l’exécution des commandes. Une fois que vous avez exécuté les commandes, réexécutez l’outil de validation de migration des données pour vérifier la résolution. Si certaines erreurs persistent, contactez le support technique Azure DevOps Services.

ISVError : 300005

ISVError : 300005 indique qu’une identité non-groupe est membre d’un groupe tout le monde, plus communément appelé groupes Utilisateurs valides. Les groupes Utilisateurs valides sont des groupes par défaut définis pour tous les projets et collections. Ces groupes ne sont pas modifiables. Ils sont conçus pour contenir uniquement d’autres autorisations Azure DevOps ou groupes de sécurité en tant que membres. Cette erreur indique qu’un groupe Active Directory (AD) ou une identité d’utilisateur possède une appartenance directe à un groupe Utilisateurs valides.

Important

Vérifiez que vous disposez d’une sauvegarde de vos bases de données de collecte et de configuration avant d’exécuter les commandes suivantes pour résoudre l’erreur.

Étant donné que vous ne pouvez pas modifier directement les groupes Utilisateurs valides, vous devez exécuter une instruction SQL sur la base de données de configuration pour supprimer l’identité incrimination et corriger l’appartenance non valide. Examinez attentivement les messages d’erreur mis en surbrillance par l’outil de migration de données. Copiez le GroupSid, MemberIdet ScopeId comme vous devez placer ces valeurs dans la commande suivante.

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

L’exemple suivant répertorie un exemple d’ISVError : 300005 message de l’outil de migration de données.

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

Si le message d’erreur répertorie un MemberSidmessage d’erreur, vous devez obtenir à MemberID partir de la table dbo.tbl_Identity dans la base de données de configuration. Avec le MemberID, vous pouvez ensuite rechercher le GUID pour le 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

Copiez le GroupSid, MemberIdpuis ScopeId dans la commande SQL.


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'

Exécutez la commande terminée sur la base de données de configuration du serveur Azure DevOps. Répétez cette commande pour chaque ISVError : 300005 instance signalée. Vous pouvez traiter des erreurs par lots avec le même ID d’étendue en une seule commande. Une fois que vous avez exécuté les commandes, réexécutez l’outil de migration de données pour vous assurer que les erreurs sont corrigées. Si les erreurs persistent encore, contactez le support technique Azure DevOps Services.

Important

Pour résoudre ces erreurs, la collection doit être attachée.

Si vous recevez un résultat -1 lorsque vous exécutez la commande, vérifiez que votre base de données de collecte qui a généré l’erreur est attachée à votre instance Azure DevOps Server et que vous exécutez la commande sur la base de données de configuration.

Exception de délai d’expiration Microsoft Entra

Dans de rares cas, vous pouvez recevoir une erreur de délai d’expiration Microsoft Entra lors de l’exécution de la commande préparer l’outil de migration de données.

Exception Message: Request failed (type AadGraphTimeoutException)

Cette erreur signifie que les demandes adressées à Microsoft Entra ID pour rechercher les identités Microsoft Entra correspondantes pour les utilisateurs de votre collection ont expiré. En règle générale, vous pouvez résoudre cette erreur en attendant d’exécuter la commande de préparation à un moment moins occupé de la journée, par exemple après les heures d’ouverture normales.

Pour résoudre les problèmes, testez la connexion d’ID Microsoft Entra à partir de la machine de préparation . Suivez ces étapes pour obtenir des informations utilisateur à partir de l’ID Microsoft Entra.

Ouvrez PowerShell en mode élevé et remplacez «someone@somecompany.com » dans la commande suivante par votre identité utilisateur Microsoft Entra.

# 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'"

Si les étapes échouent ou si vous ne trouvez pas l’utilisateur, case activée la connexion entre l’ordinateur de préparation et l’ID Microsoft Entra. Exécutez une trace réseau avec la préparation pour voir si le réseau bloque les appels. Si ce n’est pas le cas, contactez support Azure. Vérifiez le fichier journal pour obtenir les informations de l’utilisateur.

Number of active users is {Number of Users}.

Si le nombre d’utilisateurs actifs est supérieur à 50 000, le volume d’identités mappées peut nécessiter plus de temps que prévu par la limite de délai d’attente. Inspectez votre collection pour les inclusions de grands groupes, tels qu’un groupe « tout le monde ». Si possible, supprimez ces groupes et réessayez. Si vous ne pouvez toujours pas résoudre cette erreur, contactez le support technique Azure DevOps Services.

Résoudre les erreurs de processus

Consultez l’article Valider la phase, Résoudre les modèles de processus pour plus d’informations sur la résolution des erreurs de processus courantes.

Résoudre les erreurs de validation de champ

VS403310

Le message d’erreur suivant peut se produire lorsqu’une incohérence dans les fichiers de collection est détectée. Contactez le support client si vous rencontrez cette erreur.

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

VS403442

Les conflits de noms de champ se produisent parfois entre votre collection locale et un champ système Azure DevOps Services.

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

Pour résoudre cette erreur, modifiez le nom de votre champ de collection. Utilisez la commande witadmin changefield à partir de witadmin.

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

VS403443

L’erreur suivante indique qu’un conflit de noms de champ existe entre votre collection locale et un champ Azure DevOps Services spécifique.

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

Pour résoudre cette erreur, utilisez la commande witadmin changefield . Pour plus d’informations, consultez witadmin.

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

VS403444

L’erreur suivante indique qu’un conflit de type de champ existe entre votre collection locale et Azure DevOps Services.

À l’aide de witadmin, vous pouvez modifier le type de données uniquement pour les champs HTML ou PlainText.

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

Si votre type de champ est HTML ou PlainText, vous pouvez remplacer son type par le type requis.

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

Remarque

Si votre type de champ est différent du code HTML ou PlainText et que les données de champ ne sont pas importantes ou que le champ n’est pas utilisé dans un projet, nous vous recommandons de supprimer le champ.

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

Important

La suppression d’un champ entraîne une perte de données de champ dans la collection.

Résoudre les échecs de vérification

Les échecs de vérification signifient que la migration n’a pas démarré. L’outil de migration de données a tenté de mettre en file d’attente une migration, mais a obtenu une erreur à la place. Votre demande de migration n’est pas valide. Corrigez les messages d’erreur, puis réessayez de migrer.

VS403254

La région que vous avez entrée pour votre migration Azure DevOps Services n’est pas prise en charge.

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

Ouvrez votre fichier de spécification de migration et mettez à jour la région que vous avez fournie avec le nom court approprié pour la région.

VS403249

Le nom de l’organisation sélectionné par votre équipe est déjà utilisé par une organisation existante. Toutes les migrations Azure DevOps Services passent à une nouvelle organisation créée au moment de la migration.

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

Sélectionnez un autre nom d’organisation et mettez à jour le fichier de spécification de migration avant de réessayer la migration.

VS403250 &VS403286

La DACPAC n’est pas créée à partir d’une collection détachée.

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.

Détachez votre base de données de collection et générez à nouveau la DACPAC.

VS403243

Impossible d’établir une connexion à la base de données à l’aide de la chaîne sql Connecter ion fournie.

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

Passez en revue les paramètres fournis pour vous assurer qu’ils sont corrects et réessayez.

VS403260 &VS403351

La base de données de collection n’est pas détachée.

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.

Détachez votre base de données de collection et réessayez la file d’attente de migration.

VS403261

Le chaîne de connexion doit être chiffré sinon le mot de passe est envoyé dans l’effacement.

VS403261: The SQL connection string must use encryption.

Ajoutez Encrypt=true à votre chaîne de connexion SQL.

VS403262

Les chaîne de connexion doivent utiliser l’authentification SQL.

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

Ajoutez Integrated Security=False à votre chaîne de connexion SQL.

VS403263

Votre compte d’utilisateur de connexion SQL n’a pas le rôle de base de données requis.

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

Vérifiez que le compte d’utilisateur pour la connexion est affecté au rôle « TFSEXECROLE ».

Remarque

Il existe un problème connu lié à l’utilisation sp_addrolemember d’une TFSEXECROLE connexion SQL existante. L’appartenance au rôle n’est pas appliquée tant que toutes les connexions ouvertes utilisant cette identité ne sont pas fermées. Si vous recevez l’erreur VS403263 et que vous avez confirmé que votre identité a le rôle, nous vous recommandons de créer une identité pour votre migration.

VS403264

Le chaîne de connexion ne pointe pas vers une base de données de collection Azure DevOps Server.

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

Vérifiez ou corrigez les chaîne de connexion pointe vers votre base de données de collecte.

VS40325

La mise à jour du serveur Azure DevOps a mis en file d’attente la tâche de migration de fichiers. Vous ne pouvez pas effectuer de migrations tant que ce travail n’est pas terminé. Le temps d’achèvement de ce travail dépend de la taille de la collection.

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

Vous pouvez suivre la progression du travail en exécutant la requête suivante sur la base de données de collecte :

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

Une fois que le nombre de fichiers restants à migrer est égal à zéro, vous pouvez exécuter l’outil de migration de données.

VS403282

Un nouveau caractère de ligne existe dans la valeur d’emplacement source. Ce caractère peut rester après avoir copié la clé SAP à partir de votre console Windows.

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

Supprimez le saut de ligne et réessayez.

VS403271

Vos fichiers de migration et DACPAC ne se trouvent pas dans la région Azure requise pour terminer la migration vers votre région Azure DevOps Services cible.

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

Créez un compte de stockage Microsoft Azure dans la région requise et copiez vos fichiers. L’exemple suivant montre comment copier vos données à l’aide d’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

Des incohérences ont été détectées dans certains fichiers TFVC (Team Foundation Version Control) au sein de votre collection.

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

Collaborez avec le support client Azure DevOps Services. Ouvrez un ticket de support et collaborez avec vous pour résoudre l’erreur.

VS403366

L’outil de migration de données n’a pas pu se connecter à la machine virtuelle SQL Azure.

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:

Vérifiez que vous avez entré correctement les informations dans votre chaîne de connexion et que vous pouvez vous connecter à la machine virtuelle.

Les adresses IP que les listes de messages d’erreur sont destinées à Azure DevOps Services. Les adresses IP Azure DevOps Services peuvent changer temporairement pendant les déploiements. Ajoutez-les à vos exceptions de pare-feu et réessayez de mettre en file d’attente la migration. Pour obtenir la liste des adresses IP, consultez Migrer des collections volumineuses, Restreindre l’accès aux adresses IP Azure DevOps Services uniquement.

VS403373

L’outil de migration de données ne prend pas en charge la migration de plusieurs copies de la collection SAME . Toutefois, il prend en charge la migration de copies fractionnées d’une collection. Modifiez le GUID du DataImportCollectionID.

À partir de SQL Server Management Studio (SSMS), ouvrez les propriétés étendues des copies fractionnées que vous n’avez pas encore migrées. Ajoutez un GUID nouvellement généré à la propriété « TFS_DATAIMPORT_COLLECTIONID ». Réexécutez ensuite la commande de préparation et utilisez le nouveau fichier migration.json pour mettre en file d’attente la migration.

VS403379

La migration des données échoue car un ou plusieurs projets trouvés dans cette collection sont à l’étape de suppression réversible. Restaurez les projets supprimés de manière réversible ou supprimez-les définitivement avant d’exécuter la migration des données. Pour plus d’informations, consultez Supprimer un projet.

VS403379: Data migration 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 migration.

Vérifiez la collection sur laquelle vous exécutez l’outil de migration de données a des projets à l’étape de suppression réversible. Une fois qu’un projet est supprimé, il reste dans un état de suppression réversible pendant 28 jours pendant lesquels le projet supprimé peut être restauré. Vous pouvez découvrir comment restaurer un projet supprimé dans Restaurer un projet. Si vous avez des projets dans la phase de suppression réversible, supprimez-les complètement ou restaurez-les avant d’exécuter la migration des données.

Résoudre les échecs de migration

Les échecs de migration signifient que la migration a été mise en file d’attente, mais qu’elle n’a pas été terminée. La personne qui a mis en file d’attente la migration reçoit une notification par e-mail d’échec. La plupart du temps, cet e-mail inclut une raison de l’échec. Si c’est le cas, utilisez les étapes de résolution des problèmes fournies dans l’e-mail et cette page pour résoudre les erreurs et réessayer votre migration.

Si l’erreur est plus complexe, l’e-mail que vous recevez fournit des instructions sur la façon de déposer un cas de support client. Une fois que vous avez envoyé un cas de support client, votre équipe doit restaurer votre instance Azure DevOps Server en ligne et retacher votre collection. Les membres de votre équipe peuvent alors continuer à travailler. Nous vous recommandons de ne pas réessayer la migration tant que l’échec n’a pas provoqué la résolution du problème.