Importer des collections volumineuses

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

Pour les bases de données que l’outil de migration de données avertit qu’elles sont trop volumineuses, une approche d’empaquetage de données différente est nécessaire pour migrer vers Azure DevOps Services. Si vous ne savez pas si votre collection dépasse le seuil de taille, vous devez exécuter une validation de l’outil de migration de données sur la collection. La validation vous permet de savoir si vous devez utiliser la méthode de machine virtuelle SQL Azure pour l’importation.

Déterminer si vous pouvez réduire la taille de la collection

Avant de continuer, nous vous recommandons de vérifier si vos anciennes données peuvent être nettoyées. Au fil du temps, les regroupements peuvent générer de grands volumes de données. Cette croissance est une partie naturelle du processus DevOps, mais vous pouvez constater que vous n’avez pas besoin de conserver toutes les données. Certains exemples courants de données non pertinentes sont les espaces de travail plus anciens et les résultats de génération.

Le nettoyage d’artefacts plus anciens et non pertinents peut supprimer beaucoup plus d’espace que prévu, et il peut déterminer si vous utilisez la méthode d’importation DACPAC ou une machine virtuelle SQL Azure.

Important

Une fois que vous avez supprimé des données plus anciennes, elles ne peuvent pas être récupérées, sauf si vous restaurez une sauvegarde plus ancienne de la collection.

Si vous êtes sous le seuil DACPAC, suivez les instructions pour générer un DACPAC à importer. Si vous ne pouvez toujours pas obtenir la base de données sous le seuil DACPAC, vous devez configurer une machine virtuelle SQL Azure à importer dans Azure DevOps Services.

Configurer une machine virtuelle SQL Azure à importer dans Azure DevOps Services

Voyons comment procéder. À un niveau élevé, vous allez :

  • Configurez une machine virtuelle SQL Azure.
  • (Facultatif) Limitez l’accès aux adresses IP Azure DevOps Services uniquement.
  • Configurez des exceptions de pare-feu IP.
  • Restaurez votre base de données sur la machine virtuelle.
  • Configurez votre collection pour l’importation.
  • Configurer le fichier de spécification d’importation pour cibler la machine virtuelle

Configurer une machine virtuelle SQL Azure

Vous pouvez configurer une machine virtuelle SQL Azure à partir du Portail Azure en quelques clics. Pour savoir comment procéder, consultez Utiliser le Portail Azure pour provisionner une machine virtuelle Windows avec SQL Server.

Notes

Lors de la configuration de votre machine virtuelle SQL Azure, gardez à l’esprit que les performances de la machine virtuelle et des disques de données attachés auront un impact significatif sur les performances de l’importation. Pour cette raison, nous vous recommandons vivement :

  • Sélection d’une taille de machine virtuelle au niveau de D8s_v5_* ou supérieur
  • Utilisation de disques managés
  • Consultation des performances des machines virtuelles et des disques. Vérifiez que votre infrastructure est configurée de sorte que ni les IOPS de machine virtuelle ni les IOPS de stockage ne deviennent un goulot d’étranglement sur les performances de l’importation. Par exemple, vérifiez que le nombre de disques de données attachés à votre machine virtuelle est suffisant pour prendre en charge les IOPS de la machine virtuelle.

Azure DevOps Services est disponible dans plusieurs régions Azure à travers le monde. Vous pouvez les voir dans le tableau ci-dessous.

Important

Pour vous assurer que l’importation démarre correctement, il est essentiel de placer vos données dans la région appropriée. Si vous configurez votre machine virtuelle SQL Azure dans un emplacement autre que les régions répertoriées dans le tableau suivant, l’importation ne démarre pas.

Si vous utilisez cette méthode d’importation, déterminez où créer votre machine virtuelle SQL Azure en vous référant au tableau suivant. La création de votre machine virtuelle dans une région autre que celle de cette liste n’est pas prise en charge pour l’exécution d’une importation.

Région d’importation souhaitée région de machine virtuelle SQL Azure
États-Unis central USA Centre
Europe de l’Ouest Europe Ouest
Australie Est Australie Est
Brésil Sud Brésil Sud
Inde Sud Inde Sud
Canada central Centre du Canada
Asie-Pacifique Asie Sud-Est (Singapour)
Sud du Royaume-Uni Sud du Royaume-Uni

Bien que Azure DevOps Services soit disponible dans plusieurs régions des États-Unis, seule la région Centre États-Unis accepte les nouvelles organisations. Les entreprises ne peuvent pas importer leurs données dans d’autres régions Azure des États-Unis pour l’instant.

Notes

Les clients DACPAC doivent consulter la table de région dans la section « Étape 3 : Charger le fichier DACPAC ». Les instructions précédentes concernent uniquement les machines virtuelles SQL Azure.

Voici quelques configurations de machine virtuelle SQL Azure supplémentaires que nous vous recommandons :

  • Configurez la base de données temporaire SQL pour utiliser un lecteur autre que le lecteur C. Idéalement, le lecteur doit avoir suffisamment d’espace libre ; au moins équivalent à la plus grande table de votre base de données.
  • Si votre base de données source est toujours supérieure à 1 téraoctet (To) après avoir réduit sa taille, vous devez attacher des disques de 1 To supplémentaires et les combiner dans une partition unique pour restaurer votre base de données sur la machine virtuelle.
  • Si vos bases de données de collection ont une taille supérieure à 1 To, envisagez d’utiliser un disque SSD pour la base de données temporaire et la base de données de collection. Envisagez également d’utiliser des machines virtuelles plus volumineuses avec 16 processeurs virtuels (processeurs virtuels) et 128 Go de RAM.
  • Vous devez disposer d’une adresse IP publique pour que le service atteigne cet ordinateur.

Restreindre l’accès aux adresses IP Azure DevOps Services uniquement

Pour plus d’informations, consultez la page Restreindre l’accès aux adresses IP Azure DevOps Services.

Restaurer votre base de données sur la machine virtuelle

Après avoir configuré et configuré une machine virtuelle Azure, vous devez effectuer votre sauvegarde détachée de votre instance de Azure DevOps Server sur votre machine virtuelle Azure. Azure dispose de plusieurs méthodes documentées pour effectuer cette tâche. La base de données de collection doit être restaurée sur votre instance SQL et ne nécessite pas l’installation de Azure DevOps Server sur la machine virtuelle.

Configurer votre collection pour l’importation

Une fois votre base de données de collection restaurée sur votre machine virtuelle Azure, configurez une connexion SQL pour permettre à Azure DevOps Services de se connecter à la base de données pour importer les données. Cette connexion autorise uniquement l’accès en lecture à une seule base de données.

Pour commencer, ouvrez SQL Server Management Studio sur la machine virtuelle, puis ouvrez une nouvelle fenêtre de requête sur la base de données à importer.

Définissez la récupération de la base de données sur simple :

ALTER DATABASE [<Database name>] SET RECOVERY SIMPLE;

Créez une connexion SQL pour la base de données et affectez-la « TFSEXECROLE » à cette connexion :

USE [<database name>]
CREATE LOGIN <pick a username> WITH PASSWORD = '<pick a password>'
CREATE USER <username> FOR LOGIN <username> WITH DEFAULT_SCHEMA=[dbo]
EXEC sp_addrolemember @rolename='TFSEXECROLE', @membername='<username>'

À la suite de notre exemple Fabrikam, les deux commandes SQL seraient les suivantes :

ALTER DATABASE [Foo] SET RECOVERY SIMPLE;

USE [Foo]
CREATE LOGIN fabrikam WITH PASSWORD = 'fabrikamimport1!'
CREATE USER fabrikam FOR LOGIN fabrikam WITH DEFAULT_SCHEMA=[dbo]
EXEC sp_addrolemember @rolename='TFSEXECROLE', @membername='fabrikam'

Notes

Veillez à activer le mode SQL Server et Authentification Windows dans SQL Server Management Studio sur la machine virtuelle. Si vous n’activez pas le mode d’authentification, l’importation échoue.

Configurer le fichier de spécification d’importation pour cibler la machine virtuelle

Mettez à jour le fichier de spécification d’importation pour inclure des informations sur la connexion à l’instance SQL Server. Ouvrez votre fichier de spécification d’importation et effectuez les mises à jour suivantes :

  1. Supprimez le paramètre DACPAC de l’objet fichiers sources.

    La spécification d’importation avant la modification est affichée dans le code suivant :

    Capture d’écran de la spécification d’importation avant la modification.

    La spécification d’importation après la modification est affichée dans le code suivant :

    Capture d’écran de la spécification d’importation après la modification.

  2. Renseignez les paramètres requis et ajoutez l’objet de propriétés suivant dans votre objet source dans le fichier de spécification.

    "Properties":
    {
        "ConnectionString": "Data Source={SQL Azure VM Public IP};Initial Catalog={Database Name};Integrated Security=False;User ID={SQL Login Username};Password={SQL Login Password};Encrypt=True;TrustServerCertificate=True" 
    }
    

Suivant l’exemple Fabrikam, après avoir appliqué les modifications, la spécification d’importation se présente comme suit :

Capture d’écran de la spécification d’importation faisant référence à une machine virtuelle SQL Azure.

Votre spécification d’importation est maintenant configurée pour utiliser une machine virtuelle SQL Azure pour l’importation. Passez au reste des étapes de préparation à importer dans Azure DevOps Services. Une fois l’importation terminée, veillez à supprimer la connexion SQL ou à faire pivoter le mot de passe. Microsoft ne conserve pas les informations de connexion une fois l’importation terminée.