다음을 통해 공유


같은 위치로 데이터 복원

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

백업에서 동일한 서버로 데이터를 복원하고 해당 데이터가 백업된 Azure DevOps에 대한 SQL Server instance 수 있습니다. 예를 들어 손상된 데이터베이스 집합을 마지막으로 알려진 양수 상태로 복원할 수 있습니다.

참고

Azure DevOps Server 위해 동일한 서버에서 데이터를 복원하는 방법을 알아보려면 백업 및 복원 개념 페이지를 확인하세요.

Azure DevOps Server SharePoint 통합은 TFS 2017 이상 버전에서 더 이상 사용되지 않습니다.

사전 요구 사항

이 절차를 수행하려면 다음 그룹의 멤버이거나 다음과 같은 권한이 있어야 합니다.

  • Azure DevOps 용 관리 콘솔을 실행하는 서버 또는 서버의 관리자 보안 그룹의 구성원입니다.
  • SQL Server 시스템 관리자 보안 그룹의 구성원 또는 SQL Server 백업 수행 및 유지 관리 계획 만들기 권한은 데이터베이스를 호스트하는 SQL Server instance 허용으로 설정해야 합니다.
  • Azure DevOps 및 웨어하우스 데이터베이스의 Analysis Services instance instance 데이터베이스에 대한 sysadmin 보안 그룹의 멤버입니다.
  • TFS_Warehouse 데이터베이스의 권한 있는 사용자여야 합니다.
  • TFSEXECROLE 데이터베이스 역할의 멤버입니다.
  • 배포에서 SharePoint 제품을 사용하는 경우 SharePoint 제품 데이터베이스가 복원되는 팜에 대한 팜 관리자 그룹의 구성원입니다.

자세한 내용은 사용자 계정 컨트롤을 참조하십시오.

1단계: 서비스 중지

서비스를 중지하면 복원 프로세스 중에 데이터 손실이나 손상을 방지할 수 있습니다(특히 데이터베이스 이름을 바꾸는 경우).

  1. Azure DevOps용 애플리케이션 계층 서비스를 실행하는 서버에서 명령 프롬프트 창을 열고 디렉터리를 Drive:\%programfiles%\Azure DevOps Server 2019\Tools로 변경합니다.

  2. 다음 명령을 입력합니다.

    TFSServiceControl quiesce
    

    자세한 내용은 TFSServiceControl 명령을 참조하세요.

2단계: 데이터베이스 이름 바꾸기

복원 마법사를 사용하여 Azure DevOps Server 데이터베이스를 복원하려면 먼저 오프라인으로 전환한 다음 이름을 바꿔야 합니다.

데이터베이스 중지

  1. SQL Server Management Studio를 엽니다.

    참고

    데이터베이스를 복원하는 방법에 대한 자세한 내용은 SQL Server 데이터베이스에 대한 복원 시나리오 구현을 참조하세요.

    서버에 연결 대화 상자가 열립니다.

  2. 서버 유형에서 데이터베이스 엔진을 선택합니다.

  3. 서버 이름에 데이터 계층 서버 및 데이터베이스 instance 이름을 입력하거나 선택한 다음 연결을 선택합니다.

    참고

    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)에 대한 서비스 계정을 업데이트해야 합니다. 이러한 계정이 변경되지 않았더라도 계정의 형식 및 ID를 적절하게 하려면 정보를 업데이트해야 합니다.

서비스 계정 업데이트

  1. SQL Server Reporting Services 실행 중인 서버에서 컴퓨터 관리를 열고 아직 시작되지 않은 경우 다음 구성 요소를 시작합니다.

    • ReportServer 또는 ReportServer$InstanceName (애플리케이션 풀)
    • SQL Server Reporting Services(TFSINSTANCE)
  2. 애플리케이션 계층 서버에서 명령 프롬프트 창을 열고 디렉터리를 Drive:\%programfiles%\Azure DevOps Server 2019\Tools로 변경합니다.

  3. 명령 프롬프트에서 다음 명령을 입력하여 Azure DevOps에 대한 서비스 계정을 추가합니다. 여기서 DatabaseName 은 구성 데이터베이스의 이름입니다(기본적으로 TFS_Configuration).

    TfsConfig 계정 /add /AccountType:ApplicationTier /account:AccountName

    자세한 내용은 계정 명령을 참조하세요.

  4. 배포에서 이러한 리소스를 사용하는 경우 Accounts 명령을 사용하여 보고서 서버에 대한 데이터 원본 계정과 Azure DevOps 프록시 서버의 프록시 계정을 추가합니다.

5단계: 데이터 웨어하우스 다시 빌드

TFS_Warehouse 및 TFS_Analysis 데이터베이스를 복원하는 대신 데이터 웨어하우스를 다시 빌드할 수 있습니다. 배포에 많은 데이터가 포함된 경우 웨어하우스를 다시 빌드하는 데 상당한 시간이 필요할 수 있습니다. 그러나 이 전략은 모든 데이터가 제대로 동기화되도록 하는 데 도움이 됩니다. 웨어하우스를 다시 빌드할 때 Azure DevOps Server instance 만들어 운영 저장소의 데이터를 사용하여 채웁니다.

참고

이전 단원에서 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의 경우 Azure DevOps Server 설치될 때 지정된 IIS(인터넷 정보 서비스)에 대한 가상 디렉터리를 입력합니다. 기본적으로 이 디렉터리의 이름은 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 배포의 각 애플리케이션 계층 서버는 사용자가 데이터 계층 서버에서 파일을 신속하게 다운로드할 수 있도록 파일 캐시를 사용합니다. 배포를 복원할 때는 각 응용 프로그램 계층 서버에서 이 캐시를 지워야 합니다. 그렇지 않으면 사용자가 버전 제어에서 파일을 다운로드할 때 파일 ID가 일치하지 않으면 문제가 발생할 수 있습니다. 배포에서 Azure DevOps 프록시 서버를 사용하는 경우 프록시로 구성된 각 서버의 데이터 캐시도 지워야 합니다.

참고

데이터 캐시를 지우면 버전 제어에서 잘못된 버전의 파일이 다운로드되는 것을 방지할 수 있습니다. 복원 과정의 일부로 배포의 모든 하드웨어를 교체하지 않는 한 정기적으로 이 작업을 수행해야 합니다. 모든 하드웨어를 교체하는 경우 이 절차를 건너뛰어도 됩니다.

데이터 캐시 지우기

  1. Azure DevOps용 애플리케이션 계층 서비스를 실행하거나 Azure DevOps 프록시 서버로 구성된 서버에서 명령 프롬프트 창을 열고 디렉터리를 Drive:\%programfiles%\Azure DevOps Server 2019\Application Tier\Web Services\_tfs_data 변경합니다.

  2. _tfs_data 디렉터리에 있는 모든 내용을 삭제합니다.

  3. 배포에서 Azure DevOps 프록시 서버를 실행하는 각 애플리케이션 계층 서버와 각 서버에 대해 이러한 단계를 반복합니다.

7단계: 서비스 다시 시작

데이터를 복원한 후에는 서비스를 다시 시작하여 서버를 작업 상태로 되돌려야 합니다.

서비스 다시 시작

  1. Azure DevOps용 애플리케이션 계층 서비스를 실행하는 서버에서 명령 프롬프트 창을 열고 디렉터리를 Drive:\%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

    참고

    관리자 자격 증명으로 로그온한 경우에도 관리자 권한으로 인터넷 Explorer 시작해야 할 수 있으며 자격 증명을 묻는 메시지가 표시될 수 있습니다.

  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

    배포 예제에서 개발자는 Azure DevOps Server FabrikamPrime 배포에서 호스트되는 DefaultCollection 컬렉션의 멤버인 프로젝트의 버전 제어 캐시를 새로 고쳐야 합니다.

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

    자세한 내용은 작업 영역 명령을 참조하세요.