데이터베이스 실험 도우미에 대한 Distributed Replay 구성

DEA(데이터베이스 실험 도우미)는 SQL Server 설치의 Distributed Replay 도구를 사용하여 업그레이드된 테스트 환경에 대해 캡처된 추적을 재생합니다. 쿼리의 적절한 재생을 보장하기 위해 전체 재생을 수행하기 전에 작은 추적 파일을 사용하여 테스트 실행을 수행하는 것이 좋습니다.

Distributed Replay 요구 사항

  • Distributed Replay 컨트롤러 컴퓨터에서 IRF 파일을 만들려면 하드 드라이브 공간의 78%가 추가로 필요합니다.
  • 200MB 또는 512MB는 프로덕션 또는 성능 추적을 캡처하는 데 사용하는 이상적인 추적 롤오버 크기입니다.
  • Distributed Replay 컨트롤러 및 클라이언트 머신에 대한 최소 CPU 및 RAM 요구 사항은 3.5GB RAM을 사용하는 단일 코어 CPU입니다.
  • 하나의 컨트롤러와 4개의 자식 컴퓨터가 프로덕션 추적을 재생하는 데 사용되므로 재생 시간은 캡처 시간보다 약 1.55배 더 오래 걸립니다.
  • "게시된" 버전의 프로덕션 및 성능 추적 정의 파일을 사용하고 성능 추적 정의가 관심 있는 데이터베이스 하나에 대한 추적을 필터링하는 경우 분석 결과 성능 추적 크기가 프로덕션 추적 크기보다 약 15배 더 큽니다.

가상 네트워크 또는 도메인 설정

Distributed Replay를 사용하려면 컴퓨터 간에 공통 계정을 사용해야 합니다. 이 요구 사항 및 보안상의 이유로 가상 네트워크 또는 도메인 제어 네트워크에서 Distributed Replay를 실행하는 것이 좋습니다.

  • 환경에서 컨트롤러 및 클라이언트 머신을 만듭니다.
  • 컨트롤러와 클라이언트 컴퓨터가 네트워크를 통해 서로 ping할 수 있는지 확인합니다.
  • Distributed Replay 클라이언트 컴퓨터는 SQL Server를 실행하는 재생 대상 컴퓨터에 연결되어 있어야 합니다.

컨트롤러 서비스 설정

컨트롤러 서비스를 설정하려면 다음을 수행합니다.

  1. SQL Server 설치 관리자를 사용하여 Distributed Replay 컨트롤러를 설치합니다. Distributed Replay 컨트롤러를 구성하는 SQL Server 설치 관리자 마법사 단계를 건너뛴 경우 구성 파일을 통해 컨트롤러를 구성할 수 있습니다. 일반적인 설치에서 구성 파일은 C:\Program Files (x86)\Microsoft SQL Server<version>\Tools\DReplayController\DReplayController.config에 있습니다.

  2. Distributed Replay Controller 로그는 C:\Program Files (x86)\Microsoft SQL Server<version>\Tools\DReplayController\Log에 있습니다.

  3. Services.msc를 열고 SQL Server Distributed Replay Controller 서비스로 이동합니다.

  4. 서비스를 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다. 서비스 계정을 네트워크의 컨트롤러 및 클라이언트 컴퓨터에 공통적인 계정으로 설정합니다.

  5. 확인을 선택하여 속성 창을 닫습니다.

  6. Services.msc에서 SQL Server Distributed Replay Controller 서비스를 다시 시작합니다. 명령줄에서 다음 명령을 실행하여 서비스를 다시 시작할 수도 있습니다.

    NET STOP "SQL Server Distributed Replay Controller"
    NET START "SQL Server Distributed Replay Controller"

자세한 구성 옵션은 Distributed Replay 구성을 참조 하세요.

DCOM 구성

이 구성은 컨트롤러 컴퓨터에서만 필요합니다.

  1. dcomcnfg.exe를 엽니다.

  2. 구성 요소 서비스>컴퓨터>내 컴퓨터>DCOM 구성을 확장합니다.

  3. DCOM 구성에서 DReplayController를 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다.

  4. 보안 탭을 선택합니다.

  5. 시작 및 활성화 권한 아래에서 사용자 지정을 선택한 다음 편집을 선택합니다.

  6. 재생을 시작할 사용자를 추가합니다. 사용자에게 로컬 시작 및 로컬 활성화 권한을 부여합니다. 사용자가 원격으로 시작하거나 활성화하려는 경우 사용자에게 원격 시작 및 원격 정품 인증 권한을 부여합니다.

  7. 확인을 선택하여 변경 내용을 커밋하고 보안 탭으로 돌아갑니다.

  8. 액세스 권한에서 사용자 지정을 선택한 다음 편집을 선택합니다.

  9. 재생을 시작할 사용자를 추가합니다. 사용자에게 로컬 액세스 권한을 부여합니다. 사용자가 컨트롤러 서비스에 원격으로 액세스하려는 경우 사용자에게 원격 액세스 권한을 부여합니다.

  10. 확인을 선택하여 변경 내용을 커밋하고 보안 탭으로 돌아갑니다.

  11. 확인을 선택하여 변경 내용을 커밋합니다.

  12. Services.msc에서 SQL Server Distributed Replay Controller 서비스를 다시 시작합니다. 명령줄에서 다음 명령을 실행하여 서비스를 다시 시작할 수도 있습니다.

    NET STOP "SQL Server Distributed Replay Controller"
    NET START "SQL Server Distributed Replay Controller"

클라이언트 서비스 설정

클라이언트 서비스를 설정하기 전에 ping과 같은 네트워킹 도구를 사용하여 컨트롤러와 클라이언트 컴퓨터가 통신할 수 있는지 확인합니다.

  1. SQL Server 설치 관리자를 사용하여 Distributed Replay 클라이언트를 설치합니다.

  2. Services.msc를 열고 SQL Server Distributed Replay Client 서비스로 이동합니다.

  3. 서비스를 마우스 오른쪽 단추로 클릭한 다음 속성을 선택합니다. 서비스 계정을 네트워크의 컨트롤러 및 클라이언트 컴퓨터 모두에 공통적인 계정으로 설정합니다.

  4. 확인을 선택하여 속성 창을 닫습니다. SQL Server 설치 관리자 마법사 단계를 건너뛰어 Distributed Replay 클라이언트를 구성한 경우 구성 파일을 통해 구성할 수 있습니다. 일반적인 설치에서 구성 파일은 C:\Program Files (x86)\Microsoft SQL Server<version>\Tools\DReplayClient\DReplayClient.config에 있습니다.

  5. DReplayClient.config 파일에 등록을 위한 컨트롤러로 컨트롤러 컴퓨터의 이름이 포함되어 있는지 확인합니다.

  6. Services.msc에서 SQL Server Distributed Replay Client 서비스를 다시 시작합니다. 명령줄에서 다음 명령을 실행하여 서비스를 다시 시작할 수도 있습니다.

    NET STOP "SQL Server Distributed Replay Client"
    NET START "SQL Server Distributed Replay Client"

    Distributed Replay Controller 로그는 C:\Program Files (x86)\Microsoft SQL Server<version>\Tools\DReplayClient\Log에 있습니다. 로그는 클라이언트가 컨트롤러에 등록할 수 있는지 여부를 나타냅니다.

    구성에 성공하면 로그에 컨트롤러 <컨트롤러 이름으로> 등록된 메시지가 표시됩니다.

자세한 구성 옵션은 Distributed Replay 구성을 참조 하세요.

Distributed Replay 관리 도구 설정

Distributed Replay 관리 도구를 사용하여 Distributed Replay가 환경에서 제대로 작동하는지 여부를 빠르게 테스트할 수 있습니다. 구성 테스트는 여러 클라이언트 컴퓨터가 컨트롤러에 등록된 환경에서 특히 유용할 수 있습니다. 관리 도구를 얻으려면 SSMS(SQL Server Management Studio)를 설치해야 할 수 있습니다.

  1. SSMS 설치 위치로 이동하여 Distributed Replay 관리 도구 dreplay.exe 및 해당 종속 구성 요소를 찾습니다. 현재 SSMS 17 은 dreplay.exe를 포함하는 SSMS의 최신 릴리스입니다.
  2. 명령 프롬프트에서 .를 실행 dreplay.exe status -f 1합니다.

이전 단계가 성공한 경우 콘솔 출력은 컨트롤러가 해당 클라이언트 READY 를 상태로 볼 수 있음을 나타냅니다.

원격 Distributed Replay 액세스에 대한 방화벽 구성

Distributed Replay에 원격으로 액세스하려면 도메인 또는 가상 네트워크 내에 표시되는 포트를 열어야 합니다.

  1. 고급 보안을 사용하여 Windows 방화벽엽니다.
  2. 인바운드 규칙으로 이동합니다.
  3. 프로그램 C:\Program Files (x86)\Microsoft SQL Server<version>\Tools\DReplayController\DReplayController.exe에 대한 새 인바운드 방화벽 규칙을 만듭니다.
  4. DReplayController.exe가 컨트롤러 서비스와 원격으로 통신할 수 있도록 모든 포트에 대한 도메인 수준 액세스를 허용합니다.
  5. 규칙을 저장합니다.

대상 컴퓨터 설정

A/B 테스트 또는 실험을 실행하려면 두 번의 재생이 필요합니다. 즉, 마이그레이션 시나리오를 위해 두 개의 별도 SQL Server 설치 인스턴스가 필요할 수 있습니다.

동일한 컴퓨터에 두 버전의 SQL Server 인스턴스를 설치할 수도 있습니다. 주의해야 할 점은 재생이 진행 중일 때 인스턴스가 격리되어 있는지 확인하는 것입니다.

각 재생에 대해 다음 단계를 수행해야 합니다.

  1. 데이터베이스의 백업을 복원합니다.
  2. 클라이언트 서비스 계정 사용자가 SQL Server 인스턴스 아래의 데이터베이스에 액세스할 수 있는 권한을 제공합니다. SQL Server 인스턴스에서 쿼리를 실행하려면 권한이 필요합니다.
  3. 재생을 시작합니다.

참고 항목

  • 업그레이드된 테스트 환경에서 캡처된 추적을 재생하는 방법을 알아보려면 데이터베이스 실험 도우미에서 추적 재생을 참조하세요.