동일한 위치로 데이터 복원
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
백업에서 해당 데이터가 백업된 Azure DevOps용 SQL Server 인스턴스와 동일한 서버로 데이터를 복원할 수 있습니다. 예를 들어 손상된 데이터베이스 집합을 마지막으로 알려진 정상 상태로 복원할 수 있습니다.
참고 항목
Azure DevOps Server에 대한 동일한 서버의 데이터 복원에 대한 소개는 백업 및 복원 개념 페이지를 확인하세요.
Azure DevOps Server와의 SharePoint 통합은 TFS 2017 이상 버전에서 더 이상 사용되지 않습니다.
필수 조건
이 절차를 수행하려면 다음 그룹의 구성원이거나 다음 권한이 있어야 합니다.
- 서버 또는 Azure DevOps 용 관리 콘솔을 실행하는 서버의 Administrators 보안 그룹의 구성원입니다.
- SQL Server 시스템 관리자 보안 그룹의 구성원 또는 SQL Server 백업 수행 및 유지 관리 계획 만들기 권한은 데이터베이스를 호스트하는 SQL Server 인스턴스에서 허용으로 설정해야 합니다.
- Azure DevOps의 데이터베이스 인스턴스 및 웨어하우스 데이터베이스의 Analysis Services 인스턴스에 대한 sysadmin 보안 그룹의 멤버입니다.
- TFS_Warehouse 데이터베이스의 권한 있는 사용자입니다.
- TFSEXECROLE 데이터베이스 역할의 멤버입니다.
- 배포에서 SharePoint 제품을 사용하는 경우 SharePoint 제품 데이터베이스가 복원되는 팜에 대한 팜 관리자 그룹의 구성원입니다.
자세한 내용은 사용자 계정 컨트롤을 참조하십시오.
1단계: 서비스 중지
서비스를 중지하면 특히 데이터베이스 이름을 바꾸는 경우 복원 프로세스 중에 데이터 손실 또는 손상으로부터 보호할 수 있습니다.
Azure DevOps에 대한 애플리케이션 계층 서비스를 실행하는 서버에서 명령 프롬프트 창을 열고 디렉터리를 드라이브:\%programfiles%\Azure DevOps Server 2019\Tools로 변경합니다.
다음 명령을 입력합니다.
TFSServiceControl quiesce
자세한 내용은 TFSServiceControl 명령을 참조 하세요.
2단계: 데이터베이스 이름 바꾸기
복원 마법사를 사용하여 Azure DevOps Server에 있는 데이터베이스를 복원하려면 먼저 오프라인으로 전환한 다음 이름을 바꿔야 합니다.
데이터베이스 중지
SQL Server Management Studio를 엽니다.
참고 항목
데이터베이스를 복원하는 방법에 대한 자세한 내용은 SQL Server 데이터베이스에 대한 복원 시나리오 구현을 참조 하세요.
서버에 연결 대화 상자가 열립니다.
서버 유형에서 데이터베이스 엔진 선택합니다.
서버 이름에서 데이터 계층 서버 및 데이터베이스 인스턴스의 이름을 입력하거나 선택한 다음 연결을 선택합니다.
참고 항목
SQL Server가 클러스터에 설치된 경우 서버 이름은 컴퓨터 이름이 아닌 클러스터의 이름입니다.
SQL Server Management Studio 가 열립니다.
데이터베이스 노드를 확장하여 Azure DevOps의 데이터 계층을 구성하는 데이터베이스 목록을 표시합니다.
SQL Server 버전에 대한 지침에 따라 복원하려는 각 데이터베이스의 이름을 바꾼 다음 중지합니다. 복원된 버전으로 바꿀 데이터베이스의 이전 버전임을 나타내는 이름을 데이터베이스에 지정합니다. 예를 들어 TFS_DefaultCollection 이름을 TFS_DefaultCollection_Old 수 있습니다.
3단계: Azure DevOps 데이터베이스 복원
Azure DevOps Server의 관리 콘솔에서 복원 마법사를 사용하여 Azure DevOps Server에 대한 데이터를 복원할 수 있습니다. 복원 마법사는 보고에 사용되는 암호화 키도 복원합니다.
데이터베이스 복원
Azure DevOps Server에 대한 관리 콘솔을 열고 예약된 백업으로 이동한 다음 데이터베이스 복원 마법사를 시작합니다.
백업 세트의 경로를 지정하고 복원에 사용할 집합을 선택합니다.
마법사를 완료하고 데이터베이스를 복원합니다.
4단계: 모든 서비스 계정 업데이트
Azure DevOps Server(TFSService) 및 TFSReports(데이터 원본 계정)에 대한 서비스 계정을 업데이트해야 합니다. 이러한 계정이 변경되지 않은 경우에도 ID 및 계정 형식이 적절한지 확인하기 위해 정보를 업데이트해야 합니다.
서비스 계정 업데이트
SQL Server Reporting Services를 실행하는 서버에서 컴퓨터 관리를 열고 아직 시작되지 않은 경우 다음 구성 요소를 시작합니다.
- ReportServer 또는 ReportServer$InstanceName (애플리케이션 풀)
- SQL Server Reporting Services(TFSINSTANCE)
애플리케이션 계층 서버에서 명령 프롬프트 창을 열고 디렉터리를 드라이브:\%programfiles%\Azure DevOps Server 2019\Tools로 변경합니다.
명령 프롬프트에서 다음 명령을 입력하여 Azure DevOps에 대한 서비스 계정을 추가합니다. 여기서 DatabaseName 은 구성 데이터베이스의 이름입니다(기본적으로 TFS_Configuration).
TfsConfig 계정 /add /AccountType:ApplicationTier /account: AccountName
자세한 내용은 계정 명령을 참조하세요.
배포에서 이러한 리소스를 사용하는 경우 계정 명령을 사용하여 보고서 서버의 데이터 원본 계정과 Azure DevOps 프록시 서버에 대한 프록시 계정을 추가합니다.
5단계: 데이터 웨어하우스 다시 빌드
TFS_Warehouse 및 TFS_Analysis 데이터베이스를 복원하는 대신 데이터 웨어하우스를 다시 빌드할 수 있습니다. 배포에 많은 데이터가 포함된 경우 웨어하우스를 다시 빌드하는 데 상당한 시간이 필요할 수 있습니다. 그러나 이 전략은 모든 데이터가 제대로 동기화되도록 하는 데 도움이 됩니다. 웨어하우스를 다시 빌드할 때 Azure DevOps Server는 인스턴스를 만든 다음 운영 저장소의 데이터를 사용하여 채웁니다.
참고 항목
이전 섹션에서 TFS_Warehouse 및 TFS_Analysis 데이터베이스를 복원한 경우 다음 절차를 수행할 필요가 없습니다.
웨어하우스 다시 빌드
Azure DevOps에 대한 애플리케이션 계층 서비스를 실행하는 서버에서 명령 프롬프트 창을 열고 디렉터리를 변경합니다
Drive:\\%programfiles%\\Azure DevOps Server 2019\\Tools
.다음 명령을 입력합니다.
TFSConfig rebuildwarehouse /all /ReportingDataSourcePassword: Password
여기서 암호 는 TFSReports(Reporting Services)의 데이터 원본 계정에 대한 암호입니다.
명령이 완료될 때까지 기다립니다.
보고서 서버에서 Internet Explorer를 열고 주소 표시줄에 다음 문자열을 입력합니다.
http://localhost:8080/>VirtualDirectory/TeamFoundation/Administration/v3.0/WarehouseControlService.asmx
VirtualDirectory의 경우 Azure DevOps Server를 설치할 때 지정된 IIS(인터넷 정보 서비스)에 대한 가상 디렉터리를 입력합니다. 기본적으로 이 디렉터리의 이름은 tfs입니다.
WarehouseControlWebService 페이지가 열립니다.
참고 항목
웨어하우스 제어 웹 서비스를 사용할 수 있도록 Microsoft Azure DevOps Server 애플리케이션 풀을 실행해야 합니다.
GetProcessingStatus를 선택한 다음, 호출을 선택합니다.
Important
서비스는 큐브가 처리되지 않음을 나타내는 모든 작업에 대해 유휴 값을 반환해야 합니다. 다른 값이 반환되면 모든 작업에 대해 유휴 상태가 반환될 때까지 이 단계를 반복합니다.
WarehouseControlWebService 페이지에서 ProcessAnalysisDatabase를 선택한 다음, 호출을 선택합니다.
브라우저 창이 열립니다. 서비스가 성공적으로 큐브 처리를 시작할 때 True를 반환하고, 성공하지 못하거나 큐브가 현재 처리 중인 경우 False를 반환합니다.
큐브가 처리된 시기를 확인하려면 WarehouseControlWebService 페이지로 돌아가 GetProcessingStatus를 선택한 다음, 호출을 선택합니다.
GetProcessingStatus 서비스가 모든 작업에 대해 유휴 값을 반환하면 처리가 완료됩니다.
Azure DevOps용 애플리케이션 계층 서버에서 컴퓨터 관리를 열고 Visual Studio Team Foundation 백그라운드 작업 서비스를 시작합니다.
6단계: 애플리케이션 계층 서버에서 데이터 캐시 지우기
Azure DevOps 배포의 각 애플리케이션 계층 서버는 사용자가 데이터 계층 서버에서 파일을 빠르게 다운로드할 수 있도록 파일 캐시를 사용합니다. 배포를 복원할 때 각 애플리케이션 계층 서버에서 이 캐시를 지워야 합니다. 그렇지 않으면 사용자가 버전 제어에서 파일을 다운로드할 때 파일 ID가 일치하지 않으면 문제가 발생할 수 있습니다. 배포에서 Azure DevOps 프록시 서버를 사용하는 경우 프록시로 구성된 각 서버의 데이터 캐시도 지워야 합니다.
참고 항목
데이터 캐시를 지우면 버전 제어에서 잘못된 버전의 파일 다운로드를 방지할 수 있습니다. 복원의 일부로 배포의 모든 하드웨어를 교체하지 않는 한 이 작업을 정기적으로 수행해야 합니다. 모든 하드웨어를 교체하는 경우 이 절차를 건너뛸 수 있습니다.
데이터 캐시 지우기
Azure DevOps에 대한 애플리케이션 계층 서비스를 실행하거나 Azure DevOps 프록시 서버로 구성된 서버에서 명령 프롬프트 창을 열고 디렉터리를 드라이브:\%programfiles%\Azure DevOps Server 2019\Application Tier\Web Services\_tfs_data 변경합니다.
_tfs_data 디렉터리의 모든 항목을 삭제합니다.
배포에서 Azure DevOps 프록시 서버를 실행하는 각 애플리케이션 계층 서버 및 각 서버에 대해 이러한 단계를 반복합니다.
7단계: 서비스 다시 시작
데이터를 복원한 후에는 서비스를 다시 시작하여 서버를 작동 상태로 되돌여야 합니다.
서비스 다시 시작
Azure DevOps에 대한 애플리케이션 계층 서비스를 실행하는 서버에서 명령 프롬프트 창을 열고 디렉터리를 드라이브:\%programfiles%\Azure DevOps Server 2019\Tools로 변경합니다.
다음 명령을 입력합니다.
TFSServiceControl unquiesce
자세한 내용은 TFSServiceControl 명령을 참조 하세요.
8단계: 클라이언트 컴퓨터에서 캐시 새로 고침
클라이언트 컴퓨터에서 작업 항목을 추적하기 위한 캐시 새로 고침
새 서버에서 Internet Explorer를 엽니다.
주소 표시줄에서 다음 주소를 입력하여 ClientService 웹 서비스에 연결합니다.
http://PublicURL/VirtualDirectory:8080/WorkItemTracking/v3.0/ClientService.asmx
참고 항목
관리자 자격 증명으로 로그온한 경우에도 관리자 권한으로 Internet Explorer를 시작해야 할 수 있으며 자격 증명을 묻는 메시지가 표시될 수 있습니다.
StampWorkitemCache를 선택한 다음, 호출을 선택합니다. StampWorkitemCache 메서드는 데이터를 반환하지 않습니다.
클라이언트 컴퓨터에서 버전 제어 캐시 새로 고침
클라이언트 컴퓨터에서 관리 권한이 있는 명령 프롬프트 창을 열고 디렉터리를 .로 변경합니다
Drive:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE
.명령 프롬프트에서 서버 이름과 새 서버의 포트 번호를 포함하는 컬렉션의 URL을 포함하여 다음 명령을 입력합니다.
tf workspaces /collection:http://ServerName:Port/VirtualDirectoryName/CollectionName
예제 배포에서 개발자는 Azure DevOps Server의 FabrikamPrime 배포에서 호스트되는 DefaultCollection 컬렉션의 멤버인 프로젝트에 대한 버전 제어 캐시를 새로 고쳐야 합니다.
tf workspaces /collection:http://FabrikamPrime:8080/tfs/DefaultCollection
자세한 내용은 작업 영역 명령을 참조하세요.