Share via


Ripristinare i dati nello stesso percorso

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

È possibile ripristinare i dati da un backup allo 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 riportati di seguito 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.
  • Un membro del gruppo di sicurezza amministratore di sistema SQL Server o l'autorizzazione Esegui backup e creazione del piano di manutenzione SQL Server deve essere impostata 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 proteggere il sistema dalla perdita o dal danneggiamento dei dati durante il processo di ripristino, in particolare nel caso in cui siano stati rinominati i database.

  1. Nel server che esegue i servizi a livello di applicazione per Azure DevOps aprire una finestra del prompt dei comandi e passare a 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 Ripristina per ripristinare un database che 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 SQL Server database.

    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.

    Verrà aperto SQL Server Management Studio.

  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 si tratta della 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 Ripristina nella console di amministrazione di Azure DevOps Server. Con la procedura guidata di ripristino viene ripristinata anche la chiave di crittografia utilizzata per la creazione di rapporti.

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 il Ripristino guidato

  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 assicurare 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 un periodo di tempo significativo 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 crea un'istanza di tale data, che è quindi necessario elaborare per popolarlo usando i dati degli archivi operativi.

Nota

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

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 di Microsoft Azure DevOps Server deve essere in esecuzione per rendere disponibile il servizio Web Warehouse Control.

  5. Selezionare GetProcessingStatus e quindi selezionare 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 Idle per tutti i processi.

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

    Viene aperta una finestra del browser. Il servizio restituisce True quando viene avviato correttamente l'elaborazione del cubo e False se non ha esito positivo o se il cubo è in fase 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 processi 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 esegue il ripristino di una distribuzione, è necessario rimuovere questa cache in ogni server a livello applicazione. In caso contrario, gli ID file non corrispondenti potrebbero causare problemi quando gli utenti scaricano 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

Con la cancellazione della cache di dati, è possibile impedire il download di versioni non corrette dei file nel controllo della versione. È necessario eseguire normalmente questa operazione a meno che non si sta sostituendo l'hardware nella distribuzione come parte del ripristino. Se si sta sostituendo tutto l'hardware, è possibile ignorare questa procedura.

Cancellare la cache dei dati

  1. In un server che esegue i servizi a livello di 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à:\%programmi%\Azure DevOps Server 2019\Livello applicazione\Servizi Web\_tfs_data.

  2. Eliminare tutto quello che si trova 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 avere ripristinato i dati, è necessario riavviare i servizi per riportare il server allo 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 passare a 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 selezionare 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. Immettere il comando seguente al prompt dei comandi specificando 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 dei controlli della versione per un progetto membro della raccolta DefaultCollection, ospitata nella distribuzione FabrikamPrime di Azure DevOps Server:

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

    Per altre informazioni, vedere Comando Aree di lavoro.