같은 위치로 데이터 복원

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2013

참고

Azure DevOps Server의 이전 이름은 Visual Studio Team Foundation Server였습니다.

백업에서 데이터가 백업 된 Azure DevOps에 대 한 SQL Server 동일한 서버 및 인스턴스로 데이터를 복원할 수 있습니다. 예를 들어 손상 된 데이터베이스 집합을 마지막으로 성공한 상태로 복원할 수 있습니다.

참고

Azure DevOps Server에 대해 동일한 서버에서 데이터를 복원 하는 방법에 대 한 소개는 백업 및 복원 개념 페이지 를 참조 하세요.

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

사전 요구 사항

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

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

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

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. 서버 유형 에서 데이터베이스 엔진 를 선택 합니다.

  3. 서버 이름 에서 데이터 계층 서버 및 데이터베이스 인스턴스의 이름을 입력 하거나 선택 하 고 커넥트 를 선택 합니다.

    참고

    클러스터에 SQL Server 설치 되어 있으면 서버 이름은 컴퓨터 이름이 아니라 클러스터 이름입니다.

    SQL Server Management Studio가 열립니다.

  4. 데이터베이스 노드를 확장 하 여 Azure DevOps에 대 한 데이터 계층을 구성 하는 데이터베이스 목록을 표시 합니다.

  5. SQL Server 버전에 대 한 지침에따라 복원 하려는 각 데이터베이스의 이름을 바꾼 후 중지 합니다. 데이터베이스에 복원 된 버전으로 바꿀 데이터베이스의 이전 버전을 나타내는 이름을 지정 합니다. 예를 들어 TFS_DefaultCollection를 TFS defaultcollection 이전으로 바꿀 수 있습니다 _ _ .

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. 응용 프로그램 계층 서버에서 명령 프롬프트 창을 열고 디렉터리를 드라이브: \ % programfiles% \ Azure DevOps Server 2019 Tools로 변경 \ 합니다.

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

    TfsConfig 계정/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 의 경우 Azure DevOps Server 설치 될 때 지정 된 인터넷 정보 서비스 (IIS)의 가상 디렉터리를 입력 합니다. 기본적으로이 디렉터리의 이름은 tfs 입니다.

    WarehouseControlWebService 페이지가 열립니다.

    참고

    웨어하우스 제어 웹 서비스를 사용 하려면 Microsoft Azure DevOps Server 응용 프로그램 풀이 실행 되 고 있어야 합니다.

  5. GetProcessingStatus 을 선택한 다음 호출 을 선택 합니다.

    중요

    서비스가 모든 작업에 대해 Idle 값을 반환 해야 합니다 .이 경우 큐브가 처리 되 고 있지 않음을 나타냅니다. 다른 값이 반환 되는 경우 모든 작업에 대해 Idle 이 반환 될 때까지이 단계를 반복 합니다.

  6. WarehouseControlWebService 페이지에서 ProcessAnalysisDatabase 을 선택한 다음 호출 을 선택 합니다.

    브라우저 창이 열립니다. 큐브 처리가 성공적으로 시작 되 면 True 가 반환 되 고, 실패 하거나 큐브가 현재 처리 되 고 있으면 False 가 반환 됩니다.

  7. 큐브가 처리 된 시간을 확인 하려면 WarehouseControlWebService 페이지로 돌아가 GetProcessingStatus 을 선택한 다음 호출 을 선택 합니다.

    GetProcessingStatus 서비스가 모든 작업에 대해 Idle 값을 반환 하면 처리가 완료 된 것입니다.

  8. Azure DevOps에 대 한 응용 프로그램 계층 서버에서 컴퓨터 관리 를 열고 Visual Studio Team Foundation 백그라운드 작업 서비스를 시작 합니다.

6 단계: 응용 프로그램 계층 서버에서 데이터 캐시 지우기

Azure DevOps 배포의 각 응용 프로그램 계층 서버는 파일 캐시를 사용 하므로 사용자는 데이터 계층 서버에서 파일을 신속 하 게 다운로드할 수 있습니다. 배포를 복원할 때는 각 응용 프로그램 계층 서버에서 이 캐시를 지워야 합니다. 그렇지 않으면 사용자가 버전 제어에서 파일을 다운로드할 때 일치 하지 않는 파일 Id로 인해 문제가 발생할 수 있습니다. 배포에서 Azure DevOps 프록시 서버를 사용 하는 경우 프록시로 구성 된 각 서버의 데이터 캐시도 지워야 합니다.

참고

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

데이터 캐시 지우기

  1. Azure DevOps에 대 한 응용 프로그램 계층 서비스를 실행 하는 서버 또는 Azure DevOps 프록시 서버를 사용 하 여 구성 된 서버에서 명령 프롬프트 창을 열고 디렉터리를 드라이브: \ % programfiles% \ Azure DevOps Server 2019 \ 응용 프로그램 계층 \ 웹 서비스 \ _ tfs _ 데이터로 변경 합니다.

  2. Tfs 데이터 디렉터리에서 모든 항목을 삭제 _ _ 합니다.

  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

    참고

    관리자 자격 증명으로 로그온한 경우에도 관리자 권한으로 Internet 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

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