Résoudre les erreurs d’importation et de migration

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

L’outil de migration de données signale les erreurs que vous devez corriger avant d’effectuer une migration 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.

Remarque

Nous vous recommandons d’utiliser le guide de migration pour progresser dans votre importation. Le guide fournit des liens vers la documentation technique en fonction des besoins.

Avec la publication d’Azure DevOps Server 2019, le service d’importation de base de données Team Foundation Server (TFS) a été réinscrit pour devenir l’outil de migration de données pour Azure DevOps. L’outil de migration de données, TfsMigrator a été renommé Migration pour un court terme. Le service fonctionne toujours exactement de la même façon que le service d’importation précédent. Si vous utilisez une version antérieure d’un environnement local avec TFS comme marque, vous pouvez toujours utiliser Migrate pour migrer vers Azure DevOps tant que vous effectuez une mise à niveau vers l’une des versions prises en charge. Pour plus d’informations, consultez Migrer des données d’Azure DevOps Server vers Azure DevOps Services.

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 importation. Une fois qu’une base de données atteint une certaine taille, il devient plus rapide de configurer une machine virtuelle SQL Azure pour terminer l’importation dans Azure DevOps Services. Pour configurer la machine virtuelle et terminer votre importation, 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 import method. Please see the following page to learn how to import using a SQL Azure VM: https://aka.ms/AzureDevOpsImportLargeCollection

Cet avertissement ne signifie pas que votre collection est trop volumineuse pour l’importation.

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

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  

Cet avertissement ne signifie pas que votre collection est trop volumineuse pour l’importation.

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 l’importation. La réduction de la taille offre l’autre avantage d’accélérer votre importation.

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 grande pour l’importation, 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 l’importation, 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_ASSQL_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 de classement avant d’effectuer l’importation.

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 importer 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 d’importation.

Lorsque vous importez 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 l’importation ou les échecs d’importation 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 l’importation. Il est important que vous complétiez et vérifiez une importation d’exécution sèche lors de l’importation d’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 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

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 l’importation. 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 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

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 le 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 ne disposent pas d’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 les commandes TFSSecurity que vous devez exécuter.

Message d’erreur Utilisateurs valides de la collection de projets

Examinez le ou les 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 le ou 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, vous devez réexécuter 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 ont été 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

Pour plus d’informations sur la résolution des erreurs courantes de processus, consultez la page Modèles de processus distincts.

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 erreurs d’importation

Les échecs qui se produisent pendant l’importation se trouvent dans l’une des deux catégories, l’échec de vérification et l’échec de l’importation.

Échecs de vérification

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

VS403254

La région que vous avez entrée pour votre importation 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 d’importation 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 que votre équipe a sélectionné est déjà utilisé par une organisation existante. Toutes les importations d’Azure DevOps Services sont intégrées à une nouvelle organisation créée au moment de l’importation.

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

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

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 d’importation.

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 nouvelle identité pour votre importation. Vous trouverez plus d’informations sur la création d’une connexion SQL prête à être utilisée pour l’importation dans les grandes collections.

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

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. Les importations ne peuvent pas être effectuées 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 avoir été conservé 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 import specification file.

Supprimez le saut de ligne et réessayez.

VS403271

Vos fichiers d’importation et DACPAC ne se trouvent pas dans la région Azure requise pour terminer l’importation dans 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 import put their DACPACs in Central US. Please move your DACPAC to Central US and requeue the import.

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 an import 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 l’importation. Pour obtenir la liste des adresses IP, consultez Importer 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 l’importation de plusieurs copies de la collection SAME . Toutefois, il prend en charge l’importation 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 importé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 import.json pour mettre en file d’attente l’importation.

VS403379

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

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.

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 l’importation de données.

Échecs d’importation

Les échecs d’importation signifient que l’importation 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 l’importation 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 dépannage fournies dans l’e-mail et cette page pour résoudre les erreurs et réessayer votre importation.

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 d’importer tant que l’échec n’a pas provoqué la résolution du problème.