TFS 데이터 웨어하우스 및 큐브 다시 빌드
Team Foundation Server(TFS)의 데이터 계층 서버를 이동, 복원, 이름 바꾸기 또는 장애 조치(failover)할 때마다 고급 보고서에 액세스하도록 웨어하우스와 큐브를 다시 빌드해야 합니다. 또한 팀 프로젝트 컬렉션을 이동, 연결, 분리 또는 삭제하는 경우에도 웨어하우스와 큐브를 다시 빌드해야 합니다.
데이터 웨어하우스에서는 버전 제어, 작업 항목 추적, 빌드 및 테스트 등의 모든 작업 데이터를 집계합니다. 웨어하우스는 관계형 데이터베이스인 Tfs_Warehouse에 해당하고 큐브는 SQL Server Analysis Services 데이터베이스인 Tfs_Analysis에 해당합니다.
일반 작업 중에는 데이터 웨어하우스를 다시 빌드하지 않아야 합니다. 데이터 웨어하우스 데이터를 새로 고치려는 경우 웨어하우스와 큐브를 요청 시 수동으로 처리할 수 있습니다. TFS 데이터 웨어하우스 및 Analysis Services 큐브 수동 처리을 참조하세요. 데이터 웨어하우스에 있는 데이터의 양에 따라 다시 빌드 작업을 완료하는 데 몇 시간이 걸릴 수 있으며, 그 동안에는 시간 보고서를 사용할 수 없습니다.
Team Foundation용 데이터 웨어하우스를 다시 빌드하려면 다음과 같은 일련의 단계를 수행해야 합니다.
서비스 및 응용 프로그램 풀이 실행 중이고 SQL Server에 대한 TCP/IP가 사용하도록 설정되어 있는지 확인
데이터 웨어하우스 다시 빌드
보고서에 액세스할 수 있는지 확인
요구 사항
다음 보안 그룹의 멤버이거나 해당 권한이 있어야 합니다.
Team Foundation Server용 데이터베이스를 호스팅하는 SQL Server의 인스턴스를 실행 중인 서버의 sysadmin 보안 그룹
sysadmin Analysis Services 데이터베이스용 서버의 보안 그룹 Team Foundation
Tfs_Warehouse 관계형 데이터베이스 및 TFSEXECROLE 데이터베이스 역할
Team Foundation 관리 콘솔을 실행 중인 서버의 Team Foundation Administrators 보안 그룹 및 Administrators 보안 그룹
서버 수준 Administer warehouse 권한이 Allow로 설정되어 있어야 합니다.
보고서를 실행하고 보려면 팀 프로젝트의 프로젝트 수준 정보 보기 권한이 허용으로 설정되어 있어야 합니다. 또한 SQL Server Reporting Services에서 브라우저 역할의 멤버여야 합니다.
자세한 내용은 TFS를 관리할 계정 추가를 참조하세요.
Windows Server 2008 또는 Windows Vista를 실행 중인 컴퓨터에서는 이러한 권한 외에도 다음 요구 사항을 해결해야 할 수도 있습니다.
명령줄 절차를 따르려면 시작을 선택하여 명령 프롬프트의 상황에 맞는 메뉴를 열고 관리자 권한으로 실행을 선택하여 권한이 높은 명령 프롬프트를 열어야 할 수 있습니다.
Internet Explorer가 필요한 절차를 따르려면 시작, 모든 프로그램을 선택하여 Internet Explorer의 상황에 맞는 메뉴를 연 다음 관리자 권한으로 실행을 선택하여 관리자로 시작해야 할 수 있습니다.
보고서 관리자, 보고서 또는 Reporting Services 웹 사이트에 액세스하려면 Internet Explorer에서 이러한 사이트를 신뢰할 수 있는 사이트 목록에 추가하거나 Internet Explorer를 관리자로 시작해야 할 수 있습니다.
자세한 내용은 사용자 계정 컨트롤을 참조하세요.
다시 빌드 작업을 통해 관계형 데이터베이스와 큐브를 다시 만듭니다. TFS에서는 운영 데이터 저장소에서 관계형 데이터베이스를 다시 빌드합니다. 그런 다음 SQL Server Analysis Services 큐브를 다시 만든 후 처리하여 관계형 데이터베이스의 데이터를 사용해 이 큐브를 채웁니다. 큐브만 다시 빌드하려는 경우 TFSConfig RebuildWarehouse 명령줄 도구를 사용하면 됩니다. RebuildWarehouse 명령을 참조하세요.
1.서비스 및 응용 프로그램 풀이 실행 중이고 SQL Server에 대한 TCP/IP가 사용하도록 설정되어 있는지 확인
이 절차의 단계를 완료하려면 SQL Server에 필요한 서비스가 실행 중이어야 합니다. 데이터 웨어하우스를 다시 빌드할 때 사용자가 보고서에 액세스하지 않도록 Reporting Services를 중지합니다. 또한 이중 서버 배포의 경우 SQL Server 데이터베이스의 각 인스턴스에 대해 TCP/IP 프로토콜이 활성화되어야 합니다.
SQL Server를 설치하면 기본적으로 TCP/IP가 사용하지 않도록 설정됩니다.
적합한 서버에 로그온하고 컴퓨터 관리자를 연 후 다음 테이블의 서비스 및 응용 프로그램 풀이 실행 중인지 확인합니다.
이 프로그램을 호스팅하는 서버에 로그온
구성 요소
SQL Server Analysis Services
SQL Server Analysis Services(MSSQLSERVER 또는 TFSInstance).
Team Foundation 데이터베이스
SQL Server (MSSQLSERVER 또는 TFSInstance).
SQL Server 에이전트(MSSQLSERVER 또는 TFSInstance).
응용 프로그램 계층
Microsoft Team Foundation Server 응용 프로그램 풀
자세한 내용은 서비스, 응용 프로그램 풀, 웹 사이트 중지 및 시작을 참조하십시오.
Reporting Services를 호스팅하는 서버에 로그온하고 SQL Server Reporting Services(TFSINSTANCE) 서비스를 중지합니다.
데이터 계층 서버의 SQL Server에 대한 TCP/IP가 사용하도록 설정되었는지 확인합니다. 자세한 내용은 데이터베이스 인스턴스에 대해 TCP/IP 프로토콜 사용을 참조하십시오.
2.데이터 웨어하우스 다시 빌드 및 서비스 다시 시작
Team Foundation용 Team Foundation 관리 콘솔을 엽니다.
응용 프로그램 계층>보고에서 다시 빌드 시작을 선택합니다.
오프라인으로 설정 대화 상자가 열립니다.
확인을 선택하여 데이터 웨어하우스 및 Analysis Services 큐브를 오프라인으로 설정합니다.
웨어하우스 및 Analysis Services 데이터베이스 다시 빌드 대화 상자가 열립니다.
다시 빌드 프로세스를 시작하려면 확인을 선택합니다.
웨어하우스 또는 큐브를 다시 빌드하는 경우 TFS가 다음과 같은 일련의 작업을 수행합니다.
데이터베이스를 오프라인으로 설정합니다.
두 데이터베이스의 스키마를 삭제합니다.
두 데이터베이스의 스키마를 다시 만듭니다.
두 데이터베이스를 다시 온라인으로 만듭니다.
웨어하우스 어댑터 작업을 다시 시작합니다.
일정한 처리 간격에 따라 큐브를 처리합니다.
웨어하우스에 대한 다시 빌드 프로세스가 시작된 후에 큐브에 대한 프로세스가 시작됩니다. 데이터베이스를 다시 빌드하는 데 필요한 시간은 데이터 웨어하우스에 저장된 데이터의 양에 따라 다릅니다. 데이터베이스가 다시 빌드되면 데이터베이스 처리를 위한 작업이 자동으로 시작됩니다.
참고
웨어하우스와 큐브가 다시 빌드되는 동안 Team Foundation 관리자 콘솔의 응답이 중지될 수 있습니다.웨어하우스와 큐브가 다시 빌드된 후 관리 콘솔을 새로 고쳐야 할 수 있습니다.
(선택 사항) 다시 빌드 프로세스의 상태를 확인하려면 Warehouse Control 웹 서비스를 사용하면 됩니다. 자세한 내용은 TFS 데이터 웨어하우스 및 Analysis Services 큐브 수동 처리을 참조하십시오.
Reporting Services를 호스팅하는 서버에 로그온하고 컴퓨터 관리자를 연 다음 SQL Server Reporting Services(TFSINSTANCE) 서비스를 시작합니다.
3.보고서에 액세스할 수 있는지 확인
Reporting Services를 호스팅하는 서버에 로그온하고 Internet Explorer를 연 다음, 주소 표시줄에 다음 문자열을 입력하고 Enter 키를 누릅니다.
https://localhost/Reports
참고
시작, 모든 프로그램을 선택하고 Internet Explorer의 상황에 맞는 메뉴를 연 다음, 관리자 권한으로 실행을 선택하여 Internet Explorer를 관리자로 시작해야 할 수 있습니다.
데이터 계층 서버에 명명된 인스턴스를 배포한 경우에는 다음 문자열을 대신 입력합니다.
**https://localhost/Reports_**TFSInstance
콘텐츠에서 TFSReports를 선택하고, 팀 프로젝트를 저장하는 팀 프로젝트 컬렉션의 폴더를 선택하고, 팀 프로젝트에 해당하는 폴더를 선택하고, 보려는 보고서가 들어 있는 폴더를 선택합니다.
보려는 보고서가 들어 있는 폴더를 선택합니다.
보고서를 선택하고 보고서가 올바르게 나타나는지 확인합니다.
보고서를 마지막으로 업데이트한 날짜를 확인하세요. 이 정보는 보고서의 왼쪽 아래에 나타납니다.
Q & A
Q: 스키마 충돌을 해결하려면 어떻게 해야 합니까?
A: 스키마 충돌이 발생한 경우 데이터 웨어하우스를 다시 빌드하여 문제를 해결할 수 없습니다. 대신 충돌을 먼저 해결한 후에 데이터 웨어하우스를 다시 빌드해야 합니다. 데이터 웨어하우스에서 발생하는 스키마 충돌 해결을 참조하세요.
Q: 데이터 웨어하우스를 다시 빌드하거나 처리할 때 발생하는 실패 오류를 해결하려면 어떻게 해야 합니까?
A: 다음 작업으로 인해 실패 오류가 발생할 수 있습니다.
수동으로 TFS 데이터베이스를 수정하거나 SQL 테이블을 편집했습니다. Microsoft 기술 지원 서비스에서 작업을 수행하도록 지시를 받았거나 데이터베이스 수동 백업에 대해 설명된 절차(Team Foundation Server 수동 백업)를 따르는 경우가 아니면 TFS 데이터베이스를 수동으로 수정해서는 안 됩니다. 이 외의 경우에 수정하면 서비스 계약이 무효화되고, 업그레이드 및 패치가 차단되고, 데이터 손실이나 손상이 발생할 수 있습니다.
분리/연결 작업으로 인해 팀 프로젝트 컬렉션의 구성이 잘못되었습니다. 예를 들어 컬렉션이 서로 다른 두 개의 데이터 계층 서버에 연결될 수도 있는데, 이것은 지원되지 않는 시나리오입니다. 구성을 수정한 후에 데이터 웨어하우스를 다시 빌드하면 오류가 해결됩니다.
TFS 백업 및 복원에 설명된 대로 지원되지 않는 백업 또는 복원 작업을 수행했습니다.
Q: 보고 서비스를 추가하려면 어떻게 합니까?
A: 온-프레미스 TFS가 보고를 지원하도록 구성되지 않은 경우 보고서를 추가할 수 있습니다. 팀 프로젝트에 보고서 추가을 참조하세요.
Q: 보고 구성을 수정하려면 어떻게 해야 합니까?
A: 팀 프로젝트 컬렉션에 대한 보고 구성을 수정하려면 Team Foundation 관리 콘솔의 보고 페이지에서 제공하는 편집 기능을 사용하세요.
Q: 다시 빌드하기 전에 파괴되거나 제거된 데이터는 어떻게 됩니까?
A: 데이터베이스에서 영구적으로 삭제된 작업 항목 또는 빌드와 연결된 데이터는 다시 빌드 시 데이터베이스 웨어하우스에서 영구적으로 제거됩니다.
또한 타사 소스에서 생성된 웨어하우스 또는 큐브의 데이터는 손실될 수도 있습니다. 대부분의 타사 도구가 데이터를 다시 게시할 수 있는 경우에도 기능은 개별 공급업체에 따라 다릅니다. 손실 가능한 데이터(있는 경우)가 무엇인지 확인하려면 공급업체에 문의하세요.
빌드 삭제 시 데이터베이스에서 삭제할 수 없는 데이터에 대한 자세한 내용은 이 블로그 게시물을 참조하세요.
빌드를 삭제하더라도 데이터베이스에서 연관된 일부 데이터가 제거되지 않습니다. 연관된 모든 데이터를 제거하려면 빌드를 제거해야 합니다. TFSBuild destroy 명령을 사용하면 빌드를 제거하여 데이터 웨어하우스의 공간을 절약할 수 있습니다.