Restaurer les données au même emplacement

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Vous pouvez restaurer des données à partir d’une sauvegarde sur le même serveur et instance de SQL Server pour Azure DevOps à partir de laquelle ces données ont été sauvegardées. Par exemple, vous souhaiterez peut-être restaurer un ensemble de bases de données endommagé au dernier état correct connu.

Notes

Consultez la page Concepts de sauvegarde et de restauration pour une introduction à la restauration des données sur le même serveur pour Azure DevOps Server.

L’intégration de SharePoint à Azure DevOps Server est déconseillée avec TFS 2017 et versions ultérieures.

Prérequis

Pour exécuter cette procédure, vous devez être membre des groupes suivants ou disposer des autorisations suivantes :

  • Membre du groupe de sécurité Administrateurs sur le serveur ou les serveurs exécutant la console d’administration pour Azure DevOps.
  • Un membre du groupe de sécurité Administrateur système SQL Server ou votre SQL Server l’autorisation Effectuer une sauvegarde et créer un plan de maintenance doit être définie sur Autoriser sur le instance de SQL Server qui héberge les bases de données.
  • Membre du groupe de sécurité sysadmin pour la base de données instance pour Azure DevOps et pour la instance Analysis Services de la base de données d’entrepôt.
  • être un utilisateur autorisé de la base de données TFS_Warehouse ;
  • Membre du rôle de base de données TFSEXECROLE .
  • Si le déploiement utilise des produits SharePoint, un membre du groupe Administrateurs de batterie pour la batterie de serveurs dans laquelle les bases de données des produits SharePoint sont restaurées.

Pour plus d’informations, consultez Contrôle de compte d’utilisateur.

Étape 1 : Arrêter les services

Le fait d'arrêter les services permet d'éviter la perte de données ou leur altération pendant le processus de restauration, en particulier si vous renommez les bases de données.

  1. Sur le serveur qui exécute les services de la couche Application pour Azure DevOps, ouvrez une fenêtre d’invite de commandes et remplacez les répertoires par Lecteur :\%programfiles%\Azure DevOps Server 2019\Tools.

  2. Entrez la commande suivante :

    TFSServiceControl quiesce
    

    Pour plus d’informations, consultez Commande TFSServiceControl.

Étape 2 : Renommer les bases de données

Avant de pouvoir utiliser l’Assistant Restauration pour restaurer une base de données qui Azure DevOps Server, vous devez d’abord la mettre hors connexion, puis la renommer.

Arrêter les bases de données

  1. Ouvrez SQL Server Management Studio.

    Notes

    Pour plus d’informations sur la restauration des bases de données, consultez Implémenter des scénarios de restauration pour SQL Server bases de données.

    La boîte de dialogue Se connecter au serveur s'ouvre.

  2. Dans Type de serveur, sélectionnez Moteur de base de données.

  3. Dans Nom du serveur, entrez ou sélectionnez le nom du serveur de la couche Données et de la base de données instance, puis sélectionnez Se connecter.

    Notes

    Si SQL Server est installé sur un cluster, le nom du serveur est le nom du cluster et non le nom de l’ordinateur.

    SQL Server Management Studio s'ouvre.

  4. Développez le nœud Bases de données pour afficher la liste des bases de données qui composent la couche Données pour Azure DevOps.

  5. Renommez, puis arrêtez chaque base de données que vous souhaitez restaurer, en suivant les instructions relatives à votre version de SQL Server. Donnez à la base de données un nom indiquant qu’il s’agit de l’ancienne version de la base de données que vous remplacerez par la version restaurée. Par exemple, vous pouvez renommer TFS_DefaultCollection en TFS_DefaultCollection_Old.

Étape 3 : Restaurer des bases de données Azure DevOps

Vous pouvez restaurer des données pour Azure DevOps Server à l’aide de l’Assistant Restauration dans la console d’administration de Azure DevOps Server. L'Assistant Restauration restaure également la clé de chiffrement utilisée pour la création de rapports.

Restaurer des bases de données

  1. Ouvrez la console d’administration pour Azure DevOps Server, accédez à Sauvegardes planifiées et démarrez l’Assistant Restauration de bases de données.

    Démarrer l’Assistant Restauration

  2. Spécifiez le chemin d’accès au jeu de sauvegarde et sélectionnez le jeu à utiliser pour la restauration.

    Sélectionnez le chemin d’accès réseau, puis le jeu de restauration

  3. Suivez la procédure de l'Assistant et restaurez les bases de données.

    Les bases de données sont restaurées sur le nouveau serveur

Étape 4 : Mettre à jour tous les comptes de service

Vous devez mettre à jour le compte de service pour Azure DevOps Server (TFSService) et le compte de sources de données (TFSReports). Même si ces comptes n'ont pas changé, vous devez mettre à jour les informations pour garantir que l'identité et le format des comptes sont appropriés.

Mettre à jour les comptes de service

  1. Sur le serveur qui exécute SQL Server Reporting Services, ouvrez Gestion de l’ordinateur et démarrez les composants suivants s’ils ne sont pas déjà démarrés :

    • ReportServer ou ReportServer$InstanceName (pool d’applications)
    • SQL Server Reporting Services (TFSINSTANCE)
  2. Sur le serveur de la couche Application, ouvrez une fenêtre d’invite de commandes et remplacez les répertoires par Lecteur :\%programfiles%\Azure DevOps Server 2019\Tools.

  3. À l’invite de commandes, entrez la commande suivante pour ajouter le compte de service pour Azure DevOps, où DatabaseName est le nom de la base de données de configuration (par défaut, TFS_Configuration) :

    Comptes TfsConfig /add /AccountType :ApplicationTier /account :AccountName

    Pour plus d’informations, consultez Commande Comptes.

  4. Utilisez la commande Comptes pour ajouter le compte de sources de données pour le serveur de rapports et le compte proxy pour le serveur proxy Azure DevOps, si votre déploiement utilise ces ressources.

Étape 5 : Reconstruire l’entrepôt de données

Vous pouvez régénérer l'entrepôt de données au lieu de restaurer les bases de données TFS_Warehouse et TFS_Analysis. La reconstruction de l’entrepôt peut nécessiter beaucoup de temps si votre déploiement contient beaucoup de données. Toutefois, cette stratégie permet de s’assurer que toutes les données sont correctement synchronisées. Lorsque vous régénérez l’entrepôt, Azure DevOps Server crée un instance de celui-ci, que vous devez ensuite traiter pour le remplir à l’aide des données des magasins opérationnels.

Notes

Si vous avez restauré les bases de données TFS_Warehouse et TFS_Analysis au cours de la section précédente, il n'est pas nécessaire d'exécuter la procédure suivante.

Reconstruire l’entrepôt

  1. Sur le serveur qui exécute les services de la couche Application pour Azure DevOps, ouvrez une fenêtre d’invite de commandes et remplacez les répertoires par Drive:\\%programfiles%\\Azure DevOps Server 2019\\Tools.

  2. Entrez la commande suivante :

    TFSConfig rebuildwarehouse /all /ReportingDataSourcePassword :Password

    Mot de passe est le mot de passe du compte de sources de données pour Reporting Services (TFSReports).

  3. Attendez que la commande soit terminée.

  4. Sur le serveur de rapports, ouvrez Internet Explorer et entrez la chaîne suivante dans la barre d'adresses :

    http://localhost:8080/>VirtualDirectory/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx

    Pour VirtualDirectory, entrez le répertoire virtuel des services Internet (IIS) spécifié lors de l’installation de Azure DevOps Server. Par défaut, ce répertoire est nommé tfs.

    La page WarehouseControlWebService s’ouvre .

    Notes

    Le pool d’applications Microsoft Azure DevOps Server doit être en cours d’exécution pour que le service web De contrôle d’entrepôt soit disponible.

  5. Sélectionnez GetProcessingStatus, puis Appeler.

    Important

    Le service doit retourner la valeur Idle pour tous les travaux, ce qui indique que le cube n’est pas en cours de traitement. Si une autre valeur est retournée, répétez cette étape jusqu’à ce que l’inactif soit retourné pour tous les travaux.

  6. Dans la page WarehouseControlWebService , sélectionnez ProcessAnalysisDatabase, puis Appeler.

    Une fenêtre de navigateur s'ouvre. Le service retourne True lorsqu’il commence à traiter le cube et False s’il ne réussit pas ou si le cube est en cours de traitement.

  7. Pour déterminer quand le cube a été traité, revenez à la page WarehouseControlWebService , sélectionnez GetProcessingStatus, puis appeler.

    Le traitement est terminé lorsque le service GetProcessingStatus retourne la valeur Idle pour tous les travaux.

  8. Sur le serveur de la couche Application pour Azure DevOps, ouvrez Gestion de l’ordinateur et démarrez le service de travail en arrière-plan de Visual Studio Team Foundation.

Étape 6 : Effacer le cache de données sur les serveurs de la couche Application

Chaque serveur de la couche Application dans votre déploiement d’Azure DevOps utilise un cache de fichiers afin que les utilisateurs puissent télécharger rapidement des fichiers à partir du serveur de la couche Données. Lorsque vous restaurez un déploiement, vous devez effacer le cache sur chaque serveur de couche Application. Sinon, des ID de fichier incompatibles peuvent entraîner des problèmes lorsque les utilisateurs téléchargent des fichiers à partir du contrôle de version. Si votre déploiement utilise le serveur proxy Azure DevOps, vous devez également effacer le cache de données sur chaque serveur configuré en tant que proxy.

Notes

En supprimant les caches de données, vous pouvez empêcher le téléchargement de versions incorrectes des fichiers dans le contrôle de version. Vous devez procéder ainsi régulièrement, sauf si vous remplacez l'ensemble du matériel de votre déploiement dans le cadre de votre restauration. Si vous remplacez l'ensemble du matériel, vous pouvez ignorer cette procédure.

Effacer le cache de données

  1. Sur un serveur qui exécute les services de la couche Application pour Azure DevOps ou qui est configuré avec le serveur proxy Azure DevOps, ouvrez une fenêtre d’invite de commandes et remplacez les répertoires par Drive :\%programfiles%\Azure DevOps Server 2019\Couche Application\Web Services\_tfs_data.

  2. Supprimez tous les éléments du dossier _tfs_data.

  3. Répétez ces étapes pour chaque serveur de la couche Application et chaque serveur qui exécute le serveur proxy Azure DevOps dans votre déploiement.

Étape 7 : Redémarrer les services

Après avoir restauré les données, vous devez redémarrer les services pour ramener le serveur à un état opérationnel.

Redémarrer les services

  1. Sur le serveur qui exécute les services de la couche Application pour Azure DevOps, ouvrez une fenêtre d’invite de commandes et remplacez les répertoires par Lecteur :\%programfiles%\Azure DevOps Server 2019\Tools.

  2. Entrez la commande suivante :

    TFSServiceControl unquiesce

Pour plus d’informations, consultez Commande TFSServiceControl.

Étape 8 : Actualiser les caches sur les ordinateurs clients

Actualiser le cache pour le suivi des éléments de travail sur les ordinateurs clients

  1. Sur le nouveau serveur, ouvrez Internet Explorer.

  2. Dans la barre d’adresses, entrez l’adresse suivante pour vous connecter au service web ClientService :

    http://PublicURL/VirtualDirectory:8080/WorkItemTracking/v3.0/ClientService.asmx

    Notes

    Même si vous êtes connecté avec des informations d’identification administratives, vous devrez peut-être démarrer Internet Explorer en tant qu’administrateur, et vous serez peut-être invité à entrer vos informations d’identification.

  3. Sélectionnez StampWorkitemCache, puis Appeler. La méthode StampWorkitemCache ne retourne pas de données.

Actualiser le cache de contrôle de version sur les ordinateurs clients

  1. Sur l’ordinateur client, ouvrez une fenêtre d’invite de commandes avec des autorisations d’administration et remplacez les répertoires par Drive:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE.

  2. À l'invite de commandes, entrez la commande suivante, y compris l'URL de la collection, qui inclut le nom de serveur et le numéro de port du nouveau serveur :

    tf workspaces /collection:http://ServerName:Port/VirtualDirectoryName/CollectionName

    Dans l’exemple de déploiement, un développeur doit actualiser le cache du contrôle de version pour un projet membre de la collection DefaultCollection, qui est hébergée dans le déploiement FabrikamPrime de Azure DevOps Server :

    tf workspaces /collection:http://FabrikamPrime:8080/tfs/DefaultCollection

    Pour plus d’informations, consultez Commande Espaces de travail.