Partilhar via


Restaurar dados para o mesmo local

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

Você pode restaurar dados de um backup para o mesmo servidor e instância do SQL Server para Azure DevOps do qual foi feito o backup desses dados. Por exemplo, talvez você queira restaurar um conjunto corrompido de bancos de dados para o último estado válido conhecido.

Observação

Confira a página Conceitos de backup e restauração para obter uma introdução à restauração de dados no mesmo servidor para Azure DevOps Server.

A integração do SharePoint com Azure DevOps Server foi preterida com o TFS 2017 e versões posteriores.

Pré-requisitos

Para executar este procedimento, você deve ser membro dos seguintes grupos ou ter as seguintes permissões:

  • Um membro do grupo de segurança Administradores no servidor ou servidores que executam o console de administração para Azure DevOps.
  • Um membro do grupo de segurança Administrador do Sistema do SQL Server ou sua permissão Executar Backup e Criar Plano de Manutenção do SQL Server deve ser definida como Permitir na instância do SQL Server que hospeda os bancos de dados.
  • Um membro do grupo de segurança sysadmin para a instância de banco de dados do Azure DevOps e para a instância do Analysis Services do banco de dados do warehouse.
  • Um usuário autorizado do banco de dados TFS_Warehouse.
  • Um membro da função de banco de dados TFSEXECROLE .
  • Se a implantação usar Produtos do SharePoint, um membro do grupo Administradores de Farm do farm para o qual os bancos de dados de Produtos do SharePoint estão sendo restaurados.

Para obter mais informações, consulte Controle de Conta de Usuário.

Etapa 1: interromper os serviços

Interromper os serviços ajuda a proteger contra perda ou corrupção de dados durante o processo de restauração, especialmente se você renomear bancos de dados.

  1. No servidor que está executando os serviços da camada de aplicativo para Azure DevOps, abra uma janela do Prompt de Comando e altere os diretórios para Drive:\%programfiles%\Azure DevOps Server 2019\Tools.

  2. Insira o seguinte comando:

    TFSServiceControl quiesce
    

    Para obter mais informações, consulte o comando TFSServiceControl.

Etapa 2: Renomear bancos de dados

Antes de usar o assistente de restauração para restaurar um banco de dados que Azure DevOps Server, você deve primeiro colocá-lo offline e, em seguida, renomeá-lo.

Parar bancos de dados

  1. Abra o SQL Server Management Studio.

    Observação

    Para obter mais informações sobre como restaurar bancos de dados, consulte Implementar cenários de restauração para bancos de dados do SQL Server.

    A caixa de diálogo Conectar ao Servidor é exibida.

  2. Em Tipo de servidor, selecione Mecanismo de Banco de Dados.

  3. Em Nome do servidor, insira ou selecione o nome do servidor da camada de dados e da instância do banco de dados e selecione Conectar.

    Observação

    Se o SQL Server estiver instalado em um cluster, o nome do servidor será o nome do cluster e não o nome do computador.

    SQL Server Management Studio é aberto.

  4. Expanda o nó Bancos de Dados para mostrar a lista de bancos de dados que compõem a camada de dados do Azure DevOps.

  5. Renomeie e pare cada banco de dados que você deseja restaurar, seguindo as diretrizes para sua versão do SQL Server. Dê ao banco de dados um nome indicando que é a versão antiga do banco de dados que você substituirá pela versão restaurada. Por exemplo, você pode renomear TFS_DefaultCollection para TFS_DefaultCollection_Old.

Etapa 3: Restaurar bancos de dados do Azure DevOps

Você pode restaurar dados para Azure DevOps Server usando o assistente de restauração no console de administração em Azure DevOps Server. O assistente de restauração também restaura a chave de criptografia usada para relatórios.

Restaurar bancos de dados

  1. Abra o console de administração do Azure DevOps Server, navegue até Backups Agendados e inicie o assistente Restaurar Bancos de Dados .

    Iniciar o assistente de restauração

  2. Especifique o caminho para o conjunto de backup e selecione o conjunto a ser usado para restauração.

    Selecione o caminho de rede e, em seguida, o conjunto de restauração

  3. Conclua o assistente e restaure os bancos de dados.

    Os bancos de dados são restaurados para o novo servidor

Etapa 4: Atualizar todas as contas de serviço

Você deve atualizar a conta de serviço para Azure DevOps Server (TFSService) e a conta de fontes de dados (TFSReports). Mesmo que essas contas não tenham sido alteradas, você deve atualizar as informações para garantir que a identidade e o formato das contas sejam apropriados.

Atualizar contas de serviço

  1. No servidor que está executando o SQL Server Reporting Services, abra o Gerenciamento do Computador e inicie os seguintes componentes, caso ainda não tenham sido iniciados:

    • ReportServer ou ReportServer$InstanceName (pool de aplicativos)
    • SQL Server Reporting Services (TFSINSTANCE)
  2. No servidor da camada de aplicativo, abra uma janela do Prompt de Comando e altere os diretórios para Drive:\%programfiles%\Azure DevOps Server 2019\Tools.

  3. No prompt de comando, insira o seguinte comando para adicionar a conta de serviço para Azure DevOps, em que DatabaseName é o nome do banco de dados de configuração (por padrão, TFS_Configuration):

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

    Para obter mais informações, consulte Comando Contas.

  4. Use o comando Contas para adicionar a conta de fontes de dados para o servidor de relatório e a conta proxy para Azure DevOps Proxy Server, se sua implantação usar esses recursos.

Etapa 5: Recompilar o data warehouse

Você pode reconstruir o data warehouse em vez de restaurar os bancos de dados TFS_Warehouse e TFS_Analysis. Pode exigir um tempo significativo para recompilar o warehouse se sua implantação contiver muitos dados. No entanto, essa estratégia ajuda a garantir que todos os dados sejam sincronizados corretamente. Quando você recompila o warehouse, Azure DevOps Server cria uma instância dele, que você deve processar para preenchê-lo usando dados dos repositórios operacionais.

Observação

Se você restaurou os bancos de dados TFS_Warehouse e TFS_Analysis na seção anterior, não será necessário executar o procedimento a seguir.

Reconstruir o armazém

  1. No servidor que está executando os serviços da camada de aplicativo para Azure DevOps, abra uma janela do Prompt de Comando e altere os diretórios para Drive:\\%programfiles%\\Azure DevOps Server 2019\\Tools.

  2. Insira o seguinte comando:

    TFSConfig rebuildwarehouse /all /ReportingDataSourcePassword: Password

    em que Password é a senha para a conta de fontes de dados do Reporting Services (TFSReports).

  3. Aguarde até que o comando seja concluído.

  4. No servidor de relatório, abra o Internet Explorer e insira a seguinte cadeia de caracteres na barra de endereços:

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

    Para VirtualDirectory, insira o diretório virtual para Serviços de Informações da Internet (IIS) que foi especificado quando Azure DevOps Server foi instalado. Por padrão, esse diretório é chamado tfs.

    A página WarehouseControlWebService é aberta.

    Observação

    O pool de aplicativos Microsoft Azure DevOps Server deve estar em execução para que o serviço Web Controle de Depósito esteja disponível.

  5. Selecione GetProcessingStatus e, em seguida, selecione Invocar.

    Importante

    O serviço deve retornar um valor de Ocioso para todos os trabalhos, o que indica que o cubo não está sendo processado. Se um valor diferente for retornado, repita essa etapa até que Idle seja retornado para todos os trabalhos.

  6. Na página WarehouseControlWebService , selecione ProcessAnalysisDatabase e, em seguida, selecione Invocar.

    Uma janela do navegador é aberta. O serviço retorna True quando começa a processar o cubo com êxito e False se não for bem-sucedido ou se o cubo estiver sendo processado no momento.

  7. Para determinar quando o cubo foi processado, retorne à página WarehouseControlWebService , selecione GetProcessingStatus e, em seguida, selecione Invocar.

    O processamento é concluído quando o serviço GetProcessingStatus retorna um valor de Idle para todos os trabalhos.

  8. No servidor da camada de aplicativo do Azure DevOps, abra Gerenciamento do Computador e inicie o Serviço de Trabalho em Segundo Plano do Visual Studio Team Foundation.

Etapa 6: Limpar o cache de dados em servidores da camada de aplicativo

Cada servidor da camada de aplicativo em sua implantação do Azure DevOps usa um cache de arquivos para que os usuários possam baixar arquivos rapidamente do servidor da camada de dados. Ao restaurar uma implantação, você deve limpar esse cache em cada servidor da camada de aplicativo. Caso contrário, IDs de arquivo incompatíveis podem causar problemas quando os usuários baixam arquivos do controle de versão. Se sua implantação usar Azure DevOps Proxy Server, você também deverá limpar o cache de dados em cada servidor configurado como um proxy.

Observação

Ao limpar os caches de dados, você pode ajudar a impedir o download de versões incorretas de arquivos no controle de versão. Você deve fazer isso rotineiramente, a menos que esteja substituindo todo o hardware em sua implantação como parte de sua restauração. Se você estiver substituindo todo o hardware, poderá ignorar este procedimento.

Limpe o cache de dados

  1. Em um servidor que está executando os serviços da camada de aplicativo para Azure DevOps ou que está configurado com Azure DevOps Proxy Server, abra uma janela do Prompt de Comando e altere os diretórios para Drive:\%programfiles%\Azure DevOps Server 2019\Application Tier\Web Services\_tfs_data.

  2. Exclua tudo no diretório _tfs_data.

  3. Repita essas etapas para cada servidor da camada de aplicativo e cada servidor que está executando Azure DevOps Proxy Server em sua implantação.

Etapa 7: Reinicie os serviços

Depois de restaurar os dados, você deve reiniciar os serviços para retornar o servidor a um estado operacional.

Reiniciar serviços

  1. No servidor que está executando os serviços da camada de aplicativo para Azure DevOps, abra uma janela do Prompt de Comando e altere os diretórios para Drive:\%programfiles%\Azure DevOps Server 2019\Tools.

  2. Insira o seguinte comando:

    TFSServiceControl unquiesce

Para obter mais informações, consulte o comando TFSServiceControl.

Etapa 8: Atualizar os caches em computadores cliente

Atualizar o cache para acompanhar itens de trabalho em computadores cliente

  1. No novo servidor, abra o Internet Explorer.

  2. Na barra de endereços, insira o seguinte endereço para se conectar ao serviço Web ClientService:

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

    Observação

    Mesmo se você estiver conectado com credenciais administrativas, talvez seja necessário iniciar o Internet Explorer como administrador e talvez seja solicitado que você forneça suas credenciais.

  3. Selecione StampWorkitemCache e, em seguida, selecione Invocar. O método StampWorkitemCache não retorna dados.

Atualizar o cache de controle de versão em computadores cliente

  1. No computador cliente, abra uma janela do Prompt de Comando com permissões administrativas e altere os diretórios para Drive:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE.

  2. No prompt de comando, insira o seguinte comando, incluindo a URL da coleção, que inclui o nome do servidor e o número da porta do novo servidor:

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

    Na implantação de exemplo, um desenvolvedor precisa atualizar o cache de controle de versão para um projeto que é membro da coleção DefaultCollection, que está hospedada na implantação FabrikamPrime de Azure DevOps Server:

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

    Para obter mais informações, consulte Comando Workspaces.