Condividi tramite


Ripristinare i dati nella stessa posizione

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

È possibile ripristinare i dati da un backup nello stesso server e istanza di SQL Server per Azure DevOps da cui è stato eseguito il backup dei dati. Ad esempio, è possibile ripristinare un set danneggiato di database nell'ultimo stato valido noto.

Nota

Vedere la pagina Concetti di backup e ripristino per un'introduzione al ripristino dei dati nello stesso server per Azure DevOps Server.

L'integrazione di SharePoint con Azure DevOps Server è deprecata con TFS 2017 e versioni successive.

Prerequisiti

Per eseguire questa procedura, è necessario essere membri dei gruppi seguenti o disporre delle autorizzazioni seguenti:

  • Membro del gruppo di sicurezza Administrators nel server o nei server che eseguono la console di amministrazione per Azure DevOps.
  • È necessario impostare un membro del gruppo di sicurezza Amministratore di sistema di SQL Server oppure l'autorizzazione Esegui backup e Creazione piano di manutenzione di SQL Server su Consenti nell'istanza di SQL Server che ospita i database.
  • Membro del gruppo di sicurezza sysadmin per l'istanza del database per Azure DevOps e per l'istanza di Analysis Services del database del warehouse.
  • Utente autorizzato del database TFS_Warehouse.
  • Membro del ruolo del database TFSEXECROLE .
  • Se la distribuzione utilizza Prodotti SharePoint, un membro del gruppo Amministratori farm per la farm in cui vengono ripristinati i database di Prodotti SharePoint.

Per altre informazioni, vedere Controllo dell'account utente.

Passaggio 1: Arrestare i servizi

L'arresto dei servizi consente di proteggersi dalla perdita o dal danneggiamento dei dati durante il processo di ripristino, in particolare se si rinominano i database.

  1. Nel server che esegue i servizi a livello di applicazione per Azure DevOps aprire una finestra del prompt dei comandi e modificare le directory in Unità:\%programfiles%\Azure DevOps Server 2019\Tools.

  2. Immettere il comando seguente:

    TFSServiceControl quiesce
    

    Per altre informazioni, vedere comando TFSServiceControl.

Passaggio 2: Rinominare i database

Prima di poter usare la procedura guidata di ripristino per ripristinare un database di Azure DevOps Server, è prima necessario portarlo offline e quindi rinominarlo.

Arrestare i database

  1. Aprire SQL Server Management Studio.

    Nota

    Per altre informazioni su come ripristinare i database, vedere Implementare scenari di ripristino per i database di SQL Server.

    Viene visualizzata la finestra di dialogo Connetti al server .

  2. In Tipo di server selezionare motore di database.

  3. In Nome server immettere o selezionare il nome del server livello dati e dell'istanza del database e quindi selezionare Connetti.

    Nota

    Se SQL Server è installato in un cluster, il nome del server è il nome del cluster e non il nome del computer.

    SQL Server Management Studio si apre.

  4. Espandere il nodo Database per visualizzare l'elenco dei database che costituiscono il livello dati per Azure DevOps.

  5. Rinominare e quindi arrestare ogni database da ripristinare, seguendo le indicazioni per la versione di SQL Server. Assegnare al database un nome che indica che è la versione precedente del database che verrà sostituita con la versione ripristinata. Ad esempio, è possibile rinominare TFS_DefaultCollection in TFS_DefaultCollection_Old.

Passaggio 3: Ripristinare i database di Azure DevOps

È possibile ripristinare i dati per Azure DevOps Server usando la procedura guidata di ripristino nella console di amministrazione in Azure DevOps Server. La procedura guidata ripristina anche la chiave di crittografia usata per la creazione di report.

Ripristinare i database

  1. Aprire la console di amministrazione per Azure DevOps Server, passare a Backup pianificati e avviare la procedura guidata Ripristina database .

    Avviare la procedura guidata di ripristino

  2. Specificare il percorso del set di backup e selezionare il set da usare per il ripristino.

    Selezionare il percorso di rete, quindi il set di ripristino

  3. Completare la procedura guidata e ripristinare i database.

    I database vengono ripristinati nel nuovo server

Passaggio 4: Aggiornare tutti gli account del servizio

È necessario aggiornare l'account del servizio per Azure DevOps Server (TFSService) e l'account delle origini dati (TFSReports). Anche se questi account non sono stati modificati, è necessario aggiornare le informazioni per assicurarsi che l'identità e il formato degli account siano appropriati.

Aggiornare gli account del servizio

  1. Nel server che esegue SQL Server Reporting Services aprire Gestione computer e avviare i componenti seguenti se non sono già stati avviati:

    • ReportServer o ReportServer$InstanceName (pool di applicazioni)
    • SQL Server Reporting Services (TFSINSTANCE)
  2. Nel server a livello di applicazione aprire una finestra del prompt dei comandi e passare a Unità:\%programfiles%\Azure DevOps Server 2019\Tools.

  3. Al prompt dei comandi immettere il comando seguente per aggiungere l'account del servizio per Azure DevOps, dove DatabaseName è il nome del database di configurazione (per impostazione predefinita, TFS_Configuration):

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

    Per altre informazioni, vedere Comando Account.

  4. Usare il comando Accounts per aggiungere l'account delle origini dati per il server di report e l'account proxy per il server proxy di Azure DevOps, se la distribuzione usa queste risorse.

Passaggio 5: Ricompilare il data warehouse

È possibile ricompilare il data warehouse anziché ripristinare i database TFS_Warehouse e TFS_Analysis. Potrebbe essere necessario molto tempo per ricompilare il warehouse se la distribuzione contiene molti dati. Tuttavia, questa strategia consente di garantire che tutti i dati siano sincronizzati correttamente. Quando si ricompila il warehouse, Azure DevOps Server ne crea un'istanza, che è quindi necessario elaborare per popolarla usando i dati degli archivi operativi.

Nota

Se sono stati ripristinati i database TFS_Warehouse e TFS_Analysis nella sezione precedente, non è necessario eseguire la procedura seguente.

Ricompilare il magazzino

  1. Nel server che esegue i servizi a livello di applicazione per Azure DevOps aprire una finestra del prompt dei comandi e modificare le directory in Drive:\\%programfiles%\\Azure DevOps Server 2019\\Tools.

  2. Immettere il comando seguente:

    TFSConfig rebuildwarehouse /all /ReportingDataSourcePassword: Password

    dove Password è la password per l'account delle origini dati per Reporting Services (TFSReports).

  3. Attendere il completamento del comando.

  4. Nel server di report aprire Internet Explorer e immettere la stringa seguente nella barra degli indirizzi:

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

    Per VirtualDirectory immettere la directory virtuale per Internet Information Services (IIS) specificata durante l'installazione di Azure DevOps Server. Per impostazione predefinita, questa directory è denominata tfs.

    Verrà visualizzata la pagina WarehouseControlWebService .

    Nota

    Il pool di applicazioni del server DevOps di Microsoft Azure deve essere in esecuzione per rendere disponibile il servizio Web Warehouse Control.

  5. Selezionare GetProcessingStatus e quindi Richiama.

    Importante

    Il servizio deve restituire un valore inattiva per tutti i processi, che indica che il cubo non viene elaborato. Se viene restituito un valore diverso, ripetere questo passaggio fino a quando non viene restituito Inattiva per tutti i processi.

  6. Nella pagina WarehouseControlWebService selezionare ProcessAnalysisDatabase e quindi selezionare Richiama.

    Verrà visualizzata una finestra del browser. Il servizio restituisce True all'avvio dell'elaborazione del cubo e False se non ha esito positivo o se il cubo è in corso di elaborazione.

  7. Per determinare quando il cubo è stato elaborato, tornare alla pagina WarehouseControlWebService , selezionare GetProcessingStatus e quindi selezionare Richiama.

    L'elaborazione viene completata quando il servizio GetProcessingStatus restituisce un valore Inattiva per tutti i processi.

  8. Nel server a livello di applicazione per Azure DevOps aprire Gestione computer e avviare il servizio processo in background di Visual Studio Team Foundation.

Passaggio 6: Cancellare la cache dei dati nei server livello applicazione

Ogni server a livello di applicazione nella distribuzione di Azure DevOps usa una cache di file in modo che gli utenti possano scaricare rapidamente i file dal server livello dati. Quando si ripristina una distribuzione, è necessario cancellare questa cache in ogni server a livello di applicazione. In caso contrario, gli ID file non corrispondenti potrebbero causare problemi quando gli utenti scaricano i file dal controllo della versione. Se la distribuzione usa il server proxy di Azure DevOps, è necessario cancellare anche la cache dei dati in ogni server configurato come proxy.

Nota

Cancellando le cache dei dati, è possibile impedire il download di versioni non corrette dei file nel controllo della versione. È consigliabile eseguire regolarmente questa operazione, a meno che non si sostituisca tutto l'hardware nella distribuzione come parte del ripristino. Se si sostituisce tutto l'hardware, è possibile ignorare questa procedura.

Cancellare la cache dei dati

  1. In un server che esegue i servizi a livello applicazione per Azure DevOps o configurato con il server proxy di Azure DevOps aprire una finestra del prompt dei comandi e modificare le directory in Unità:\%programfiles%\Azure DevOps Server 2019\Livello applicazione\Servizi Web\_tfs_data.

  2. Eliminare tutti gli elementi nella directory _tfs_data.

  3. Ripetere questi passaggi per ogni server a livello di applicazione e per ogni server che esegue il server proxy di Azure DevOps nella distribuzione.

Passaggio 7: Riavviare i servizi

Dopo aver ripristinato i dati, è necessario riavviare i servizi per restituire il server a uno stato operativo.

Riavviare i servizi

  1. Nel server che esegue i servizi a livello di applicazione per Azure DevOps aprire una finestra del prompt dei comandi e modificare le directory in Unità:\%programfiles%\Azure DevOps Server 2019\Tools.

  2. Immettere il comando seguente:

    TFSServiceControl unquiesce

Per altre informazioni, vedere comando TFSServiceControl.

Passaggio 8: Aggiornare le cache nei computer client

Aggiornare la cache per tenere traccia degli elementi di lavoro nei computer client

  1. Nel nuovo server aprire Internet Explorer.

  2. Nella barra degli indirizzi immettere l'indirizzo seguente per connettersi al servizio Web ClientService :

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

    Nota

    Anche se si è connessi con credenziali amministrative, potrebbe essere necessario avviare Internet Explorer come amministratore e potrebbe essere richiesto di immettere le credenziali.

  3. Selezionare StampWorkitemCache e quindi richiama. Il metodo StampWorkitemCache non restituisce dati.

Aggiornare la cache del controllo della versione nei computer client

  1. Nel computer client aprire una finestra del prompt dei comandi con autorizzazioni amministrative e modificare le directory in Drive:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE.

  2. Al prompt dei comandi immettere il comando seguente, incluso l'URL della raccolta, che include il nome del server e il numero di porta del nuovo server:

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

    Nella distribuzione di esempio, uno sviluppatore deve aggiornare la cache del controllo della versione per un progetto membro dell'insieme DefaultCollection, ospitato nella distribuzione FabrikamPrime di Azure DevOps Server:

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

    Per altre informazioni, vedere Comando Aree di lavoro.