Restaurar dados no 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 de SQL Server para o Azure DevOps do qual esses dados foram copiados em backup. Por exemplo, talvez você queira restaurar um conjunto corrompido de bancos de dados para o último estado bom 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 grupos a seguir 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 do Azure DevOps.
  • Um membro do grupo de segurança administrador do sistema SQL Server ou sua permissão Executar Backup e Criar Plano de Manutenção SQL Server deve ser definido como Permitir na instância de 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 de 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 para o farm no 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: Parar serviços

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

  1. No servidor que está executando os serviços da camada de aplicativo do 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 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, primeiro você deve tirá-lo offline e 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 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 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 interrompa cada banco de dados que você deseja restaurar, seguindo as diretrizes para sua versão do SQL Server. Dê um nome ao banco de dados indicando que ele é 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 no Azure DevOps Server. O assistente de restauração também restaura a chave de criptografia usada nos relatórios.

Restaurar bancos de dados

  1. Abra o console de administração para 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. Complete 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). Ainda que essas contas não tenham mudado, 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 SQL Server Reporting Services, abra o Gerenciamento de Computadores e inicie os seguintes componentes se eles ainda não tiverem 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 o 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 do Servidor proxy do Azure DevOps, se a implantação usar esses recursos.

Etapa 5: Recompilar o data warehouse

Você pode recompilar o depósito de dados em vez de restaurar os bancos de dados TFS_Warehouse e TFS_Analysis. Pode exigir uma quantidade significativa de tempo para recompilar o warehouse se a 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 precisará executar o procedimento a seguir.

Recompilar o depósito

  1. No servidor que está executando os serviços da camada de aplicativo para o 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 da conta de fontes de dados para Reporting Services (TFSReports).

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

  4. No servidor do 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 dos Serviços de Informações da Internet (IIS) que foi especificado quando Azure DevOps Server foi instalado. Por padrão, esse diretório é chamado de tfs.

    A página WarehouseControlWebService é aberta.

    Observação

    O Pool de Aplicativos do Microsoft Azure DevOps Server deve estar em execução para que o serviço Web de Controle de Warehouse 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 de navegador é aberta. O serviço retornará True quando ele começar a processar o cubo com êxito e False se ele 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 ocioso para todos os trabalhos.

  8. No servidor da camada de aplicativos do Azure DevOps, abra o Gerenciamento de Computadores 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 desmarcar esse cache em cada servidor de 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 a implantação usar o Servidor Proxy do Azure DevOps, você também deverá limpar o cache de dados em cada servidor configurado como um proxy.

Observação

Limpando os caches de dados, você pode ajudar a impedir o download de versões incorretas de arquivos em controle de versão. É necessário fazer isso com frequência a menos que você esteja substituindo todo o hardware na implantação como parte da restauração. Se você estiver substituindo todo o hardware, poderá ignorar esse procedimento.

Limpar o cache de dados

  1. Em um servidor que está executando os serviços da camada de aplicativo para o Azure DevOps ou configurado com o Servidor Proxy do Azure DevOps, 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 o Servidor Proxy do Azure DevOps em sua implantação.

Etapa 7: Reiniciar serviços

Após restaurar os dados, você deverá 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 o 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:

    Unquiesce TFSServiceControl

Para obter mais informações, consulte 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 que você esteja conectado com credenciais administrativas, talvez seja necessário iniciar o Explorer da Internet como administrador e você poderá ser solicitado a fornecer 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, digite 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 seja membro da coleção DefaultCollection, que é 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.