Service Reporting 데이터베이스의 백업 및 복원 방법

 

게시 날짜: 2016년 3월

적용 대상: System Center 2012 R2 Service Reporting

System Center 2012 R2 Service Reporting 환경의 데이터베이스에는 다음과 같습니다.

  • UsageDatawarehouseDB

  • UsageETLRepositoryDB

  • UsageStagingDB

  • UsageAnalysisDB

데이터베이스를 호스트하는 컴퓨터가 실패할 경우 복구하는 데 가장 필요한 것은 원래 컴퓨터와 동일한 이름을 가진 컴퓨터에 데이터베이스를 복원하는 기능입니다. Service Reporting 데이터베이스에 대한 재해 복구 전략은 일반 Microsoft SQL Server 재해 복구 절차에 기반해야 합니다. 자세한 내용은 SQL Server 데이터베이스의 백업 및 복원을 참조하세요.

데이터베이스를 백업할 때 SQL Server 사용자 및 역할과 같은 보안 정보는 데이터베이스와 함께 백업됩니다. 사용자의 도메인 자격 증명이 SQL Server 사용자 및 역할에 사용되고 복원하는 컴퓨터에서 이 자격 증명이 서로 다른 경우, SQL Server Management Studio를 복원되는 데이터베이스에 사용하여 도메인 자격 증명을 수동으로 업데이트해야 합니다.

Service Reporting을 설치할 때 선택적 단계로 Service Reporting 데이터베이스를 복원하거나, 기존 데이터베이스를 덮어쓰는 방법으로 데이터베이스를 복원할 수 있습니다. 데이터베이스를 복원하고 SQL Server 사용자 및 역할을 업데이트한 후(필요한 경우) System Center 2012 R2 Operations Manager 및 Windows Server용 Windows Azure 팩을 포함하여 Service Reporting 데이터 원본 시스템을 등록하여 데이터 원본 시스템에 다시 연결할 수 있습니다.

Windows Server용 Windows Azure 팩 사용 현황 데이터베이스 복원 시 Service Reporting 사용량 데이터가 Windows Azure 팩과 동기화되는지 확인해야 합니다. 두 시스템 간에 데이터가 동기화되도록 하려면 아래의 "복원된 Microsoft Azure 팩 사용 현황 데이터를 Service Reporting과 동기화하려면" 절차를 수행했는지 확인합니다.

UsageAnalysisDB를 다시 만들어야 할 경우 아래 절차를 사용하여 PostDeploymentConfig.ps1 Windows PowerShell® 스크립트를 다시 실행할 수 있습니다.

Service Reporting 데이터베이스를 백업하려면

  1. SQL Server Management Studio를 시작하고, 백업할 데이터베이스를 선택하고, 데이터베이스를 마우스 오른쪽 단추로 클릭하고, 작업을 가리킨 다음 백업을 클릭합니다.

  2. 데이터베이스 백업 대화 상자에서 데이터베이스 백업 옵션을 선택한 다음 확인을 클릭하여 데이터베이스를 백업합니다.

  3. 백업이 완료되면 확인을 클릭하고 데이터베이스 백업 대화 상자를 닫습니다.

Service Reporting 데이터베이스를 복원하려면

  • 새 Service Reporting 설치의 일부로 데이터베이스를 복원하는 경우에 Service Reporting의 설치 방법에 있는 Service Reporting을 설치하기 위한 단계를 수행합니다. 백업된 데이터베이스가 설치의 일부로 검색됩니다.

  • 데이터베이스를 복원하고 기존 데이터베이스를 덮어쓰는 경우 다음 단계를 수행합니다.

    1. SQL Server Management Studio를 시작하고, 복원할 데이터베이스를 선택하고, 데이터베이스를 마우스 오른쪽 단추로 클릭하고, 작업복원을 차례로 가리킨 다음 데이터베이스를 클릭합니다.

    2. 데이터베이스 복원 대화 상자에서 데이터베이스 복원 옵션을 선택한 다음 확인을 클릭하여 데이터베이스를 복원합니다.

    3. 복원이 완료되면 확인을 클릭하여 데이터베이스 복원 대화 상자를 닫습니다.

Service Reporting을 데이터 원본 시스템에 등록하려면

UsageAnalysisDB를 다시 만들려면

  1. 데이터베이스를 복원하려는 서버에서 Windows PowerShell을 관리자 권한으로 시작합니다.

  2. InstallationDrive:\Program Files\Microsoft System Center 2012 R2\Service Reporting\Maintenance 폴더로 이동합니다. 예를 들어, cd "c:\Program Files\Microsoft System Center 2012 R2\Service Reporting\Maintenance"를 입력한 다음 Enter 키를 누릅니다.

  3. .\PostDeploymentConfig.ps1 –User UserName -Password Password를 입력하고 UserNamePassword 값을 Windows Azure 팩에 연결하는데 사용하는 자격 증명으로 바꿉니다. 그런 다음 Enter 키를 누릅니다.

    스크립트에 성공한 경우 데이터 웨어하우스 모듈에 대한 정보와 함께 Windows Azure 팩 및 Operations Manager 등록에 대한 진행률을 표시합니다. Windows PowerShell을 종료합니다.

복원된 Windows Azure 팩 사용 현황 데이터를 Service Reporting과 동기화하려면

  1. Windows Azure 팩 Usage 및 UsageCollector 서비스를 중지하여 오류 복구 중에 시스템에 새로운 사용량 이벤트가 추가되지 못하도록 합니다.

  2. 저장된 백업에서 Windows Azure 팩 데이터를 복원합니다.

  3. Windows Azure 팩 사용 현황 데이터베이스에 대해 다음과 같은 SQL 쿼리를 실행하여 마지막 사용량 이벤트 ID를 기록해 둡니다.

    SELECT MAX([RecordId])  
    FROM [Microsoft.MgmtSvc.Usage].[usage].[Records]  
    
  4. Service Reporting UsageETLRepositoryDB 데이터베이스에 대해 다음과 같은 SQL 쿼리를 실행하여 기록된 사용량 이벤트 ID를 동기화합니다.

    DECLARE @LastWAPEventId INT = <EventId>  
    DECLARE @CurrEventId INT  
    SELECT  @CurrEventId = InputString  
    FROM    [UsageETLRepositoryDB].[dbo].[ProcessModuleInput]  
    WHERE   InputName = '@StartEventId'  
    
    IF @CurrEventId > @LastWAPEventId  
    BEGIN  
        UPDATE  [UsageETLRepositoryDB].[dbo].[ProcessModuleInput]  
        SET     InputString = @LastWAPEventId  
        WHERE   InputName = '@StartEventId'  
    END  
    

    위의 쿼리에서 <EventId>를 3단계에서 기록해 둔 값으로 바꿉니다.

  5. Windows Azure 팩 Usage 및 UsageCollector 서비스를 시작합니다.

참고 항목

System Center 2012 R2의 Service Reporting
Service Reporting 실행