Restaurer des données dans le 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 l’instance de SQL Server pour Azure DevOps à partir duquel ces données ont été sauvegardées. Par exemple, vous souhaiterez peut-être restaurer un ensemble endommagé de bases de données dans le dernier état correct connu.
Remarque
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 effectuer 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.
- Soit un membre du groupe de sécurité administrateur système SQL Server, soit votre autorisation Sql Server Effectuer la sauvegarde et créer un plan de maintenance doit être définie sur Autoriser sur l’instance de SQL Server qui héberge les bases de données.
- Membre du groupe de sécurité sysadmin pour l’instance de base de données pour Azure DevOps et pour l’instance Analysis Services de la base de données de l’entrepôt.
- 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 de serveurs pour la batterie de serveurs sur laquelle les bases de données produits SharePoint sont restaurées.
Pour plus d’informations, consultez Contrôle de compte d’utilisateur.
Étape 1 : Arrêter les services
L’arrêt des services permet de protéger contre la perte de données ou la corruption pendant le processus de restauration, en particulier si vous renommez des bases de données.
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.
Entrez la commande suivante :
TFSServiceControl quiesce
Pour plus d’informations, consultez la commande TFSServiceControl.
Étape 2 : Renommer des bases de données
Avant de pouvoir utiliser l’Assistant Restauration pour restaurer une base de données qu’Azure DevOps Server, vous devez d’abord la mettre hors connexion, puis la renommer.
Arrêter les bases de données
Ouvrez SQL Server Management Studio.
Remarque
Pour plus d’informations sur la restauration des bases de données, consultez Implémenter des scénarios de restauration pour les bases de données SQL Server.
La boîte de dialogue Se connecter au serveur s'ouvre.
Dans le type de serveur, sélectionnez Moteur de base de données.
Dans le nom du serveur, entrez ou sélectionnez le nom du serveur de la couche Données et de l’instance de base de données, puis sélectionnez Se connecter.
Remarque
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.
Développez le nœud Bases de données pour afficher la liste des bases de données qui composent le niveau de données pour Azure DevOps.
Renommez et arrêtez ensuite chaque base de données que vous souhaitez restaurer, en suivant les instructions de 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 dans 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
Ouvrez la console d’administration pour Azure DevOps Server, accédez aux sauvegardes planifiées et démarrez l’Assistant Restauration des bases de données .
Spécifiez le chemin d’accès au jeu de sauvegarde et sélectionnez le jeu à utiliser pour la restauration.
Terminez l’Assistant et restaurez les bases de données.
É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 vous assurer que l’identité et le format des comptes sont appropriés.
Mettre à jour les comptes de service
Sur le serveur exécutant SQL Server Reporting Services, ouvrez Gestion des ordinateurs 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)
Sur le serveur de la couche Application, ouvrez une fenêtre d’invite de commandes et remplacez les répertoires par Drive :\%programfiles%\Azure DevOps Server 2019\Tools.
À 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 la commande Comptes.
Utilisez la commande Comptes pour ajouter le compte de sources de données pour le serveur de rapports et le compte proxy du serveur proxy Azure DevOps, si votre déploiement utilise ces ressources.
Étape 5 : Reconstruire l’entrepôt de données
Vous pouvez reconstruire l’entrepôt de données au lieu de restaurer les bases de données TFS_Warehouse et TFS_Analysis. Il peut nécessiter un temps important pour reconstruire l’entrepôt 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 une instance de celle-ci, que vous devez ensuite traiter pour la remplir à l’aide de données provenant des magasins opérationnels.
Remarque
Si vous avez restauré les bases de données TFS_Warehouse et TFS_Analysis dans la section précédente, vous n’avez pas besoin d’effectuer la procédure suivante.
Reconstruire l’entrepôt
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
Drive:\\%programfiles%\\Azure DevOps Server 2019\\Tools
par .Entrez la commande suivante :
TFSConfig rebuildwarehouse /all /ReportingDataSourcePassword : Password
où le mot de passe est le mot de passe pour le compte de sources de données pour Reporting Services (TFSReports).
Attendez que la commande se termine.
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 pour Internet Information Services (IIS) qui a été spécifié lors de l’installation d’Azure DevOps Server. Par défaut, ce répertoire est nommé tfs.
La page WarehouseControlWebService s’ouvre.
Remarque
Le pool d’applications du serveur Microsoft Azure DevOps doit être en cours d’exécution pour que le service web Warehouse Control soit disponible.
Sélectionnez GetProcessingStatus, puis Appel.
Important
Le service doit retourner une valeur d’Inactivité pour tous les travaux, ce qui indique que le cube n’est pas en cours de traitement. Si une valeur différente est retournée, répétez cette étape jusqu’à ce que l’inactivité soit retournée pour tous les travaux.
Dans la page WarehouseControlWebService, sélectionnez ProcessAnalysisDatabase, puis Appel.
Une fenêtre de navigateur s’ouvre. Le service retourne True lorsqu’il commence à traiter le cube et False s’il n’est pas réussi ou si le cube est en cours de traitement.
Pour déterminer quand le cube a été traité, revenez à la page WarehouseControlWebService , sélectionnez GetProcessingStatus, puis sélectionnez Invoke.
Le traitement est terminé lorsque le service GetProcessingStatus retourne une valeur d’Inactivité pour tous les travaux.
Sur le serveur de la couche Application pour Azure DevOps, ouvrez Gestion des ordinateurs et démarrez le service de travail en arrière-plan Visual Studio Team Foundation.
Étape 6 : Effacer le cache de données sur les serveurs de la couche Application
Chaque serveur de niveau application dans votre déploiement d’Azure DevOps utilise un cache de fichiers pour permettre aux utilisateurs de télécharger rapidement des fichiers à partir du serveur de couche Données. Lorsque vous restaurez un déploiement, vous devez effacer ce cache sur chaque serveur de la couche Application. Sinon, les 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.
Remarque
En désactivant 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 effectuer cette opération régulièrement, sauf si vous remplacez tout le matériel de votre déploiement dans le cadre de votre restauration. Si vous remplacez tout le matériel, vous pouvez ignorer cette procédure.
Effacer le cache de données
Sur un serveur exécutant les services de la couche Application pour Azure DevOps ou configuré avec le serveur proxy Azure DevOps, ouvrez une fenêtre d’invite de commandes et modifiez les répertoires en Drive :\%programfiles%\Azure DevOps Server 2019\Couche Application\Web Services\_tfs_data.
Supprimez tout dans le répertoire _tfs_data.
Répétez ces étapes pour chaque serveur de la couche Application et chaque serveur exécutant 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 renvoyer le serveur à un état opérationnel.
Redémarrer les services
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.
Entrez la commande suivante :
TFSServiceControl nonquiesce
Pour plus d’informations, consultez la 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
Sur le nouveau serveur, ouvrez Internet Explorer.
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
Remarque
Même si vous êtes connecté avec des informations d’identification d’administration, vous devrez peut-être démarrer Internet Explorer en tant qu’administrateur et vous pouvez être invité à entrer vos informations d’identification.
Sélectionnez StampWorkitemCache, puis Appel. La méthode StampWorkitemCache ne retourne aucune donnée.
Actualiser le cache de contrôle de version sur les ordinateurs clients
Sur l’ordinateur client, ouvrez une fenêtre d’invite de commandes avec des autorisations d’administration et modifiez les répertoires en
Drive:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE
.À l’invite de commandes, entrez la commande suivante, y compris l’URL de la collection, qui inclut le nom du 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 de contrôle de version pour un projet membre de la collection DefaultCollection, qui est hébergé dans le déploiement FabrikamPrime d’Azure DevOps Server :
tf workspaces /collection:http://FabrikamPrime:8080/tfs/DefaultCollection
Pour plus d’informations, consultez la commande Espaces de travail.