Wiederherstellen von Daten an demselben Speicherort
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
Sie können Daten aus einer Sicherung auf demselben Server und derselben Instanz von SQL Server für Azure DevOps wiederherstellen, von dem diese Daten gesichert wurden. Sie können z. B. einen beschädigten Satz von Datenbanken in den letzten bekannten guten Zustand wiederherstellen.
Hinweis
Sehen Sie sich die Seite "Back up and Restore concepts" an, um eine Einführung in das Wiederherstellen von Daten auf demselben Server für Azure DevOps Server zu erhalten.
Die SharePoint-Integration in Azure DevOps Server ist mit TFS 2017 und höheren Versionen veraltet.
Voraussetzungen
Um dieses Verfahren auszuführen, müssen Sie Mitglied der folgenden Gruppen sein oder über die folgenden Berechtigungen verfügen:
- Ein Mitglied der Sicherheitsgruppe "Administratoren " auf dem Server oder den Servern, auf denen die Verwaltungskonsole für Azure DevOps ausgeführt wird.
- Entweder ein Mitglied der SQL Server System Administrator-Sicherheitsgruppe oder ihre Berechtigung "Sql Server-Wartungsplan ausführen" und "Wartungsplan erstellen" muss auf "Zulassen " für die Instanz von SQL Server festgelegt werden, die die Datenbanken hostet.
- Ein Mitglied der Sysadmin-Sicherheitsgruppe für die Datenbankinstanz für Azure DevOps und für die Analysis Services-Instanz der Lagerdatenbank.
- Ein autorisierter Benutzer der TFS_Warehouse-Datenbank.
- Ein Mitglied der TFSEXECROLE-Datenbankrolle .
- Wenn die Bereitstellung SharePoint-Produkte verwendet, wird ein Mitglied der Gruppe "Farmadministratoren " für die Farm, in der die SharePoint-Produkte-Datenbanken wiederhergestellt werden.
Weitere Informationen finden Sie unter Benutzerkontensteuerung.
Schritt 1: Beenden von Diensten
Das Beenden der Dienste trägt zum Schutz vor Datenverlusten oder Beschädigungen während des Wiederherstellungsvorgangs bei, insbesondere, wenn Sie Datenbanken umbenennen.
Öffnen Sie auf dem Server, auf dem die Anwendungsebenendienste für Azure DevOps ausgeführt werden, ein Eingabeaufforderungsfenster, und ändern Sie verzeichnisse in Drive:\%programfiles%\Azure DevOps Server 2019\Tools.
Geben Sie den folgenden Befehl ein:
TFSServiceControl quiesce
Weitere Informationen finden Sie unter TFSServiceControl-Befehl.
Schritt 2: Umbenennen von Datenbanken
Bevor Sie den Wiederherstellungs-Assistenten zum Wiederherstellen einer Datenbank verwenden können, die Azure DevOps Server wiederherstellen kann, müssen Sie sie zuerst offline schalten und dann umbenennen.
Beenden von Datenbanken
Öffnen Sie SQL Server Management Studio.
Hinweis
Weitere Informationen zum Wiederherstellen von Datenbanken finden Sie unter Implementieren von Wiederherstellungsszenarien für SQL Server-Datenbanken.
Das Dialogfeld Verbindung mit Server herstellen wird geöffnet.
Wählen Sie im Servertyp Datenbank-Engine aus.
Geben Sie unter Servername den Namen des Datenebenenservers und der Datenbankinstanz ein, oder wählen Sie ihn aus, und wählen Sie dann "Verbinden" aus.
Hinweis
Wenn SQL Server auf einem Cluster installiert ist, ist der Servername der Name des Clusters und nicht der Computername.
SQL Server Management Studio wird geöffnet.
Erweitern Sie den Knoten "Datenbanken ", um die Liste der Datenbanken anzuzeigen, aus denen die Datenebene für Azure DevOps besteht.
Benennen Sie jede Datenbank um, die Sie wiederherstellen möchten, und beenden Sie sie dann, und folgen Sie den Anweisungen für Ihre Version von SQL Server. Geben Sie der Datenbank einen Namen, der angibt, dass sie die alte Version der Datenbank ist, die Sie durch die wiederhergestellte Version ersetzen. Sie können z. B. TFS_DefaultCollection in TFS_DefaultCollection_Old umbenennen.
Schritt 3: Wiederherstellen von Azure DevOps-Datenbanken
Sie können Daten für Azure DevOps Server wiederherstellen, indem Sie den Wiederherstellungs-Assistenten in der Verwaltungskonsole in Azure DevOps Server verwenden. Der Wiederherstellungs-Assistent stellt auch den Verschlüsselungsschlüssel wieder her, der für die Berichterstellung verwendet wird.
Wiederherstellen von Datenbanken
Öffnen Sie die Verwaltungskonsole für Azure DevOps Server, navigieren Sie zu geplanten Sicherungen, und starten Sie den Assistenten "Datenbanken wiederherstellen" .
Geben Sie den Pfad zum Sicherungssatz an, und wählen Sie den für die Wiederherstellung zu verwendenden Satz aus.
Schließen Sie den Assistenten ab, und stellen Sie die Datenbanken wieder her.
Schritt 4: Aktualisieren aller Dienstkonten
Sie müssen das Dienstkonto für Azure DevOps Server (TFSService) und das Datenquellenkonto (TFSReports) aktualisieren. Auch wenn diese Konten nicht geändert wurden, müssen Sie die Informationen aktualisieren, um sicherzustellen, dass die Identität und das Format der Konten geeignet sind.
Aktualisieren von Dienstkonten
Öffnen Sie auf dem Server, auf dem SQL Server Reporting Services ausgeführt wird, computerverwaltung, und starten Sie die folgenden Komponenten, wenn sie noch nicht gestartet wurden:
- ReportServer oder ReportServer$InstanceName (Anwendungspool)
- SQL Server Reporting Services (TFSINSTANCE)
Öffnen Sie auf dem Anwendungsebenenserver ein Eingabeaufforderungsfenster, und ändern Sie verzeichnisse in "Drive:\%programfiles%\Azure DevOps Server 2019\Tools".
Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, um das Dienstkonto für Azure DevOps hinzuzufügen, wobei DatabaseName der Name der Konfigurationsdatenbank ist (standardmäßig TFS_Configuration):
TfsConfig-Konten /add /AccountType:ApplicationTier /account: AccountName
Weitere Informationen finden Sie im Befehl "Konten".
Verwenden Sie den Befehl "Konten ", um das Datenquellenkonto für den Berichtsserver und das Proxykonto für Azure DevOps-Proxyserver hinzuzufügen, wenn Ihre Bereitstellung diese Ressourcen verwendet.
Schritt 5: Neuerstellen des Data Warehouse
Sie können das Data Warehouse neu erstellen, anstatt die TFS_Warehouse und TFS_Analysis Datenbanken wiederherzustellen. Es kann eine erhebliche Zeit erfordern, um das Lager neu zu erstellen, wenn Ihre Bereitstellung viele Daten enthält. Diese Strategie trägt jedoch dazu bei, sicherzustellen, dass alle Daten ordnungsgemäß synchronisiert werden. Wenn Sie das Lager neu erstellen, erstellt Azure DevOps Server eine Instanz davon, die Sie dann verarbeiten müssen, um es mithilfe von Daten aus den Betriebsspeichern aufzufüllen.
Hinweis
Wenn Sie die datenbanken TFS_Warehouse und TFS_Analysis im vorherigen Abschnitt wiederhergestellt haben, müssen Sie das folgende Verfahren nicht ausführen.
Neuerstellen des Lagers
Öffnen Sie auf dem Server, auf dem die Anwendungsebenendienste für Azure DevOps ausgeführt werden, ein Eingabeaufforderungsfenster, und ändern Sie Verzeichnisse in
Drive:\\%programfiles%\\Azure DevOps Server 2019\\Tools
.Geben Sie den folgenden Befehl ein:
TFSConfig rebuildwarehouse /all /ReportingDataSourcePassword: Password
wobei "Password" das Kennwort für das Datenquellenkonto für Reporting Services (TFSReports) ist.
Warten Sie, bis der Befehl abgeschlossen ist.
Öffnen Sie auf dem Berichtsserver Internet Explorer, und geben Sie die folgende Zeichenfolge in die Adressleiste ein:
http://localhost:8080/>VirtualDirectory/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx
Geben Sie für VirtualDirectory das virtuelle Verzeichnis für Internetinformationsdienste (IIS) ein, das angegeben wurde, als Azure DevOps Server installiert wurde. Standardmäßig heißt dieses Verzeichnis tfs.
Die WarehouseControlWebService-Seite wird geöffnet.
Hinweis
Der Microsoft Azure DevOps Server-Anwendungspool muss ausgeführt werden, damit der Warehouse Control-Webdienst verfügbar ist.
Wählen Sie "GetProcessingStatus" und dann " Aufrufen" aus.
Wichtig
Der Dienst sollte für alle Aufträge im Leerlauf einen Wert zurückgeben, der angibt, dass der Cube nicht verarbeitet wird. Wenn ein anderer Wert zurückgegeben wird, wiederholen Sie diesen Schritt, bis "Leerlauf" für alle Aufträge zurückgegeben wird.
Wählen Sie auf der Seite "WarehouseControlWebService " die Option "ProcessAnalysisDatabase" und dann " Aufrufen" aus.
Ein Browserfenster wird geöffnet. Der Dienst gibt True zurück, wenn er erfolgreich mit dem Verarbeiten des Cubes beginnt, und False , wenn er nicht erfolgreich ist oder wenn der Cube gerade verarbeitet wird.
Um zu bestimmen, wann der Cube verarbeitet wurde, kehren Sie zur WarehouseControlWebService-Seite zurück, wählen Sie "GetProcessingStatus" und dann "Aufrufen" aus.
Die Verarbeitung ist abgeschlossen, wenn der GetProcessingStatus-Dienst den Wert " Idle " für alle Aufträge zurückgibt.
Öffnen Sie auf dem Anwendungsebenenserver für Azure DevOps die Computerverwaltung, und starten Sie den Visual Studio Team Foundation-Hintergrundauftragsdienst.
Schritt 6: Löschen des Datencaches auf Anwendungsebenenservern
Jeder Anwendungsebenenserver in Ihrer Bereitstellung von Azure DevOps verwendet einen Dateicache, sodass Benutzer Dateien schnell vom Datenebenenserver herunterladen können. Wenn Sie eine Bereitstellung wiederherstellen, sollten Sie diesen Cache auf jedem Anwendungsebenenserver löschen. Andernfalls können nicht übereinstimmende Datei-IDs Probleme verursachen, wenn Benutzer Dateien aus der Versionssteuerung herunterladen. Wenn Ihre Bereitstellung Azure DevOps Proxy Server verwendet, müssen Sie auch den Datencache auf jedem Server löschen, der als Proxy konfiguriert ist.
Hinweis
Durch das Löschen der Datencaches können Sie das Herunterladen falscher Versionen von Dateien in der Versionssteuerung verhindern. Sie sollten dies routinemäßig tun, es sei denn, Sie ersetzen alle Hardware in Ihrer Bereitstellung als Teil der Wiederherstellung. Wenn Sie alle Hardware ersetzen, können Sie dieses Verfahren überspringen.
Löschen des Datencaches
Öffnen Sie auf einem Server, auf dem die Anwendungsebenendienste für Azure DevOps ausgeführt werden oder mit Azure DevOps Proxy Server konfiguriert sind, ein Eingabeaufforderungsfenster, und ändern Sie verzeichnisse in Drive:\%programfiles%\Azure DevOps Server 2019\Application Tier\Web Services\_tfs_data.
Löschen Sie alle Elemente im verzeichnis _tfs_data.
Wiederholen Sie diese Schritte für jeden Anwendungsebenenserver und jeden Server, auf dem Azure DevOps-Proxyserver in Ihrer Bereitstellung ausgeführt wird.
Schritt 7: Neustarten von Diensten
Nachdem Sie die Daten wiederhergestellt haben, müssen Sie die Dienste neu starten, um den Server in einen Betriebszustand zurückzugeben.
Neustarten von Diensten
Öffnen Sie auf dem Server, auf dem die Anwendungsebenendienste für Azure DevOps ausgeführt werden, ein Eingabeaufforderungsfenster, und ändern Sie verzeichnisse in Drive:\%programfiles%\Azure DevOps Server 2019\Tools.
Geben Sie den folgenden Befehl ein:
TFSServiceControl nichtquiesce
Weitere Informationen finden Sie unter TFSServiceControl-Befehl.
Schritt 8: Aktualisieren der Caches auf Clientcomputern
Aktualisieren des Caches zum Nachverfolgen von Arbeitsaufgaben auf Clientcomputern
Öffnen Sie auf dem neuen Server Internet Explorer.
Geben Sie in der Adressleiste die folgende Adresse ein, um eine Verbindung mit dem ClientService-Webdienst herzustellen:
http://PublicURL/VirtualDirectory:8080/WorkItemTracking/v3.0/ClientService.asmx
Hinweis
Selbst wenn Sie mit Administratoranmeldeinformationen angemeldet sind, müssen Sie Möglicherweise Internet Explorer als Administrator starten, und Sie werden möglicherweise zur Eingabe Ihrer Anmeldeinformationen aufgefordert.
Wählen Sie StampWorkitemCache und dann "Aufrufen" aus. Die StampWorkitemCache-Methode gibt keine Daten zurück.
Aktualisieren des Versionsverwaltungscaches auf Clientcomputern
Öffnen Sie auf dem Clientcomputer ein Eingabeaufforderungsfenster mit Administratorberechtigungen, und ändern Sie Verzeichnisse in
Drive:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE
.Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, einschließlich der URL der Sammlung, die den Servernamen und die Portnummer des neuen Servers enthält:
tf workspaces /collection:http://ServerName:Port/VirtualDirectoryName/CollectionName
In der Beispielbereitstellung muss ein Entwickler den Versionssteuerungscache für ein Projekt aktualisieren, das Mitglied der DefaultCollection-Auflistung ist, die in der FabrikamPrime-Bereitstellung von Azure DevOps Server gehostet wird:
tf workspaces /collection:http://FabrikamPrime:8080/tfs/DefaultCollection
Weitere Informationen finden Sie im Arbeitsbereichsbefehl.