Восстановление данных в том же расположении

Azure DevOps Server 2022 г. | Azure DevOps Server 2020 г. | Azure DevOps Server 2019 г.

Вы можете восстановить данные из резервной копии на том же сервере и экземпляре SQL Server для Azure DevOps, с которого была создана резервная копия этих данных. Например, может потребоваться восстановить поврежденный набор баз данных до последнего известного работоспособного состояния.

Примечание

Общие сведения о восстановлении данных на том же сервере для Azure DevOps Server см. на странице Основные понятия резервного копирования и восстановления.

Интеграция SharePoint с Azure DevOps Server не рекомендуется использовать в TFS 2017 и более поздних версиях.

Предварительные требования

Для выполнения этой процедуры необходимо:

  • Член группы безопасности "Администраторы " на сервере или серверах, на которых запущена консоль администрирования для Azure DevOps.
  • Для члена группы безопасности SQL Server системного администратора или разрешения на выполнение резервного копирования и создания плана обслуживания SQL Server должно быть задано значение Разрешить для экземпляра SQL Server, на котором размещены базы данных.
  • Член группы безопасности sysadmin для экземпляра базы данных для Azure DevOps и экземпляра служб Analysis Services базы данных хранилища.
  • быть авторизованным пользователем базы данных TFS_Warehouse;
  • Член роли базы данных TFSEXECROLE .
  • Если в развертывании используются продукты SharePoint, член группы администраторов фермы для фермы , в которую восстанавливаются базы данных продуктов SharePoint.

Дополнительные сведения см. в разделе Контроль учетных записей.

Шаг 1. Остановка служб

Остановка служб позволяет предотвратить потерю или повреждение данных в ходе процесса восстановления, особенно в случае переименования баз данных.

  1. На сервере, на котором выполняются службы уровня приложений для Azure DevOps, откройте окно командной строки и измените каталоги на Диск:\%programfiles%\Azure DevOps Server 2019\Tools.

  2. Введите следующую команду:

    TFSServiceControl quiesce
    

    Дополнительные сведения см. в разделе Команда TFSServiceControl.

Шаг 2. Переименование баз данных

Прежде чем использовать мастер восстановления для восстановления базы данных, Azure DevOps Server, необходимо сначала перевести ее в автономный режим, а затем переименовать.

Остановка баз данных

  1. Откройте SQL Server Management Studio.

    Примечание

    Дополнительные сведения о восстановлении баз данных см. в статье Реализация сценариев восстановления для SQL Server баз данных.

    Будет открыто диалоговое окно Соединение с сервером .

  2. В поле Тип сервера выберите Компонент Компонент Database Engine.

  3. В поле Имя сервера введите или выберите имя сервера уровня данных и экземпляра базы данных, а затем нажмите кнопку Подключить.

    Примечание

    Если в кластере установлена SQL Server, имя сервера — это имя кластера, а не имя компьютера.

    SQL Server Management Studio .

  4. Разверните узел Базы данных , чтобы отобразить список баз данных, составляющих уровень данных для Azure DevOps.

  5. Переименуйте и остановите каждую базу данных, которую требуется восстановить, следуя указаниям для вашей версии SQL Server. Присвойте базе данных имя, указывающее, что она является старой версией базы данных, которой будет заменена восстановленная версия. Например, можно переименовать TFS_DefaultCollection в TFS_DefaultCollection_Old.

Шаг 3. Восстановление баз данных Azure DevOps

Данные для Azure DevOps Server можно восстановить с помощью мастера восстановления в консоли администрирования в Azure DevOps Server. Мастер восстановления также восстанавливает ключ шифрования, используемый для создания отчетов.

Восстановление баз данных

  1. Откройте консоль администрирования для Azure DevOps Server, перейдите в раздел Запланированные резервные копии и запустите мастер восстановления баз данных.

    Запуск мастера восстановления

  2. Укажите путь к резервному набору данных и выберите набор для восстановления.

    Выберите сетевой путь, а затем набор для восстановления

  3. Завершите работу мастера и восстановите базы данных.

    Базы данных восстанавливаются на новом сервере

Шаг 4. Обновление всех учетных записей служб

Необходимо обновить учетную запись службы для Azure DevOps Server (TFSService) и учетную запись источников данных (TFSReports). Чтобы обеспечить надлежащие удостоверения и формат учетных записей, необходимо обновить данные, даже если эти учетные записи не менялись.

Обновление учетных записей служб

  1. На сервере под управлением SQL Server Reporting Services откройте раздел Управление компьютером и запустите следующие компоненты, если они еще не запущены:

    • ReportServer или ReportServer$InstanceName (пул приложений)
    • SQL Server Reporting Services (TFSINSTANCE)
  2. На сервере уровня приложений откройте окно командной строки и измените каталоги на Диск:\%programfiles%\Azure DevOps Server 2019\Tools.

  3. В командной строке введите следующую команду, чтобы добавить учетную запись службы для Azure DevOps, где DatabaseName — это имя базы данных конфигурации (по умолчанию TFS_Configuration):

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

    Дополнительные сведения см. в разделе Команда Учетные записи.

  4. Используйте команду Учетные записи , чтобы добавить учетную запись источников данных для сервера отчетов и учетную запись-посредник для прокси-сервера Azure DevOps, если в развертывании используются эти ресурсы.

Шаг 5. Перестроение хранилища данных

Вместо восстановления баз данных TFS_Warehouse и TFS_Analysis можно выполнить перестроение хранилища данных. Для перестроения хранилища может потребоваться значительное время, если развертывание содержит много данных. Однако эта стратегия помогает обеспечить правильную синхронизацию всех данных. При перестроении хранилища Azure DevOps Server создает его экземпляр, который затем необходимо обработать, чтобы заполнить его с помощью данных из операционных хранилищ.

Примечание

Если базы данных TFS_Warehouse и TFS_Analysis восстановлены в соответствии с инструкциями, приведенными на предыдущем шаге, выполнение этой процедуры не требуется.

Перестроение хранилища

  1. На сервере, на котором выполняются службы уровня приложений для Azure DevOps, откройте окно командной строки и измените каталоги на Drive:\\%programfiles%\\Azure DevOps Server 2019\\Tools.

  2. Введите следующую команду:

    TFSConfig rebuildwarehouse /all /ReportingDataSourcePassword:Password

    Где Password — это пароль для учетной записи источников данных для Reporting Services (TFSReports).

  3. Дождитесь завершения команды.

  4. На сервере отчетов откройте Internet Explorer и в адресной строке введите следующий адрес:

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

    В поле VirtualDirectory введите виртуальный каталог служб IIS, указанный при установке Azure DevOps Server. По умолчанию этот каталог называется tfs.

    Откроется страница WarehouseControlWebService .

    Примечание

    Пул приложений Microsoft Azure DevOps Server должен быть запущен, чтобы веб-служба управления складом была доступна.

  5. Выберите GetProcessingStatus, а затем — Вызов.

    Важно!

    Служба должна возвращать значение "Бездействие " для всех заданий, указывающее, что куб не обрабатывается. Если возвращается другое значение, повторяйте этот шаг, пока не будет возвращен режим бездействия для всех заданий.

  6. На странице WarehouseControlWebService выберите ProcessAnalysisDatabase и нажмите кнопку Вызвать.

    Откроется окно браузера. Служба возвращает значение True , когда она успешно начинает обработку куба, и False , если она не выполнена успешно или если куб обрабатывается в данный момент.

  7. Чтобы определить, когда куб был обработан, вернитесь на страницу WarehouseControlWebService , выберите GetProcessingStatus, а затем нажмите кнопку Вызвать.

    Обработка завершается, когда служба GetProcessingStatus возвращает значение Бездействия для всех заданий.

  8. На сервере уровня приложений для Azure DevOps откройте раздел Управление компьютером и запустите службу фоновых заданий Visual Studio Team Foundation.

Шаг 6. Очистка кэша данных на серверах уровня приложений

Каждый сервер уровня приложений в развертывании Azure DevOps использует кэш файлов, чтобы пользователи могли быстро скачивать файлы с сервера уровня данных. При восстановлении развертывания необходимо очистить этот кэш на каждом сервере уровня приложений. В противном случае несовпадение идентификаторов файлов может привести к проблемам при скачивании файлов из системы управления версиями. Если в развертывании используется прокси-сервер Azure DevOps, необходимо также очистить кэш данных на каждом сервере, настроенном в качестве прокси-сервера.

Примечание

Очистка кэшей данных поможет предотвратить загрузку неправильных версий файлов в системе управления версиями. Это следует делать регулярно, если только в рамках процесса восстановления не заменяется все оборудование развертывания. При замене всего оборудования эту процедуру можно пропустить.

Очистка кэша данных

  1. На сервере, на котором выполняются службы уровня приложений для Azure DevOps или на котором настроен прокси-сервер Azure DevOps, откройте окно командной строки и измените каталоги на Диск:\%programfiles%\Azure DevOps Server 2019\Application Tier\Web Services\_tfs_data.

  2. Удалите все в каталоге _tfs_data.

  3. Повторите эти действия для каждого сервера уровня приложений и сервера, на котором выполняется прокси-сервер Azure DevOps в развертывании.

Шаг 7. Перезапуск служб

После восстановления данных необходимо перезапустить службы, чтобы вернуть сервер в работоспособное состояние.

Перезапуск служб

  1. На сервере, на котором выполняются службы уровня приложений для Azure DevOps, откройте окно командной строки и измените каталоги на Диск:\%programfiles%\Azure DevOps Server 2019\Tools.

  2. Введите следующую команду:

    TFSServiceControl unquiesce

Дополнительные сведения см. в разделе Команда TFSServiceControl.

Шаг 8. Обновление кэшей на клиентских компьютерах

Обновление кэша для отслеживания рабочих элементов на клиентских компьютерах

  1. На новом сервере откройте Internet Explorer.

  2. В адресной строке введите следующий адрес для подключения к веб-службе ClientService :

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

    Примечание

    Даже если вы вошли в систему с учетными данными администратора, может потребоваться запустить интернет-Обозреватель с правами администратора, и может появиться запрос на ввод учетных данных.

  3. Выберите StampWorkitemCache, а затем нажмите кнопку Вызвать. Метод StampWorkitemCache не возвращает никаких данных.

Обновление кэша управления версиями на клиентских компьютерах

  1. На клиентском компьютере откройте окно командной строки с правами администратора и измените каталоги на Drive:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE.

  2. В командной строке введите следующую команду, указав URL-адрес коллекции, включающий имя сервера и номер порта нового сервера:

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

    В этом примере развертывания разработчику необходимо обновить кэш управления версиями для проекта, который входит в коллекцию DefaultCollection, размещенную в развертывании FabrikamPrime Azure DevOps Server:

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

    Дополнительные сведения см. в разделе Команда "Рабочие области".