SQL Server 대한 RML(Replay Markup Language) 유틸리티

이 문서에서는 지원 전문가가 Microsoft SQL Server 문제를 해결하는 데 사용하는 도구 그룹에 대해 설명합니다.

원래 제품 버전: SQL Server
원본 KB 번호: 944837

소개

SQL Server 지원 팀은 내부적으로 작성된 여러 도구를 사용하여 일반적인 고객 지원 사례를 처리합니다. RML(Replay Markup Language) SQL Server 유틸리티는 데이터베이스 개발자와 시스템 관리자가 사용할 수 있는 특정 도구 모음 중 하나입니다.

추가 정보

SQL Server RML 유틸리티를 사용하여 다음 작업을 수행할 수 있습니다.

  • 최대 리소스를 사용하는 애플리케이션, 데이터베이스, SQL Server 로그인 또는 쿼리를 결정합니다.
  • 일괄 처리에 대한 추적을 캡처할 때 일괄 처리에 대한 실행 계획이 변경되는지 여부를 확인합니다. 또한 SQL Server RML 유틸리티를 사용하여 SQL Server 이러한 계획을 실행하는 방법을 결정할 수 있습니다.
  • 느리게 실행되는 쿼리를 확인합니다.

SQL Server instance 대한 추적을 캡처한 후 SQL Server RML 유틸리티를 사용하여 다른 instance SQL Server 대해 추적 파일을 재생할 수 있습니다. 재생 중에 추적을 캡처하는 경우 SQL Server RML 유틸리티를 사용하여 새 추적 파일을 원래 추적 파일과 비교할 수 있습니다. 이 기술을 사용하여 변경 내용을 적용한 후 SQL Server 동작하는 방식을 테스트할 수 있습니다. 예를 들어 다음 작업을 수행한 후 이 기술을 사용하여 SQL Server 동작하는 방식을 테스트할 수 있습니다.

  • SQL Server 서비스 팩 설치
  • SQL Server 핫픽스 설치
  • 저장 프로시저 또는 함수 업데이트
  • 인덱스 업데이트 또는 인덱스 만들기

버전 기록

버전 번호 설명
09.04.0102 Microsoft 다운로드 센터에서 사용할 수 있는 현재 웹 릴리스를 나타냅니다. 릴리스된 모든 버전의 SQL Server(SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2 및 SQL Server 2008).
9.04.0100 Microsoft 다운로드 센터에서 사용할 수 있는 이전 웹 릴리스입니다. 릴리스된 모든 버전의 SQL Server(2019년 SQL Server, 2017년 SQL Server, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 및 SQL Server 2000).
9.04.0098 데이터베이스 실험 도우미 도구에 포함된 현재 릴리스 패키지를 나타냅니다. 릴리스된 모든 버전의 SQL Server 지원합니다.
9.04.0097 릴리스된 모든 버전의 SQL Server 지원하는 SQL Nexus 사이트에서 사용할 수 있는 현재 릴리스를 나타냅니다.
9.04.0051 2014, SQL Server SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 및 SQL Server 2000을 지원하는 Microsoft 다운로드 센터에서 사용할 수 있는 이전 웹 릴리스입니다.
9.04.0004 SQL Server 2014, SQL Server 2008 R2, SQL Server 2008, SQL Server SQL Server 2005 및 SQL Server 2000을 지원하는 이전 웹 릴리스입니다.
9.01.0109 SQL Server 2008 R2, SQL Server 2008, SQL Server 2005 및 SQL Server 2000을 지원하는 이전 웹 릴리스입니다.
9.00.0023 SQL Server 2005 및 SQL Server 2000을 지원하는 이전 웹 릴리스입니다.
8.10.0010 SQL Server 2000 및 SQL Server 7.0을 지원하는 초기 웹 릴리스입니다.

SQL Server 대한 RML 유틸리티의 현재 버전은 이전 버전을 대체합니다. 현재 버전을 설치하기 전에 SQL Server 대한 이전 버전의 RML 유틸리티를 제거해야 합니다. 도구 모음의 현재 버전에는 중요한 소프트웨어 업데이트, 향상된 기능( 프로세스 .trc.xel 파일) 및 보고서, 성능 및 확장성 향상이 포함되어 있습니다.

SQL Server RML 유틸리티 가져오기

참고

Microsoft는 SQL Server RML 유틸리티를 있는 그대로 제공합니다. Microsoft CSS(고객 지원 서비스)는 제품군에 대한 지원 또는 업데이트를 제공하지 않습니다. 제안이 있거나 버그를 보고하려는 경우 도움말 파일(RML Help.pdf)의 "문제 및 지원" 항목에서 전자 메일 주소를 사용할 수 있습니다. 도움말 파일은 SQL Server RML 유틸리티에 포함되어 있습니다.

SQL Server RML 유틸리티의 이점

SQL Server RML 유틸리티는 실제 애플리케이션을 사용하여 테스트하는 것이 실용적이지 않거나 불가능한 경우 애플리케이션 테스트를 시뮬레이션하려는 경우에 유용합니다. 테스트 환경에서는 프로덕션 환경에 존재하는 것과 동일한 사용자 부하를 생성하기 어려울 수 있습니다. SQL Server RML 유틸리티를 사용하여 테스트 환경에서 프로덕션 워크로드를 재생하고 변경 내용의 성능 효과를 평가할 수 있습니다. 예를 들어 SQL Server 2008로 업그레이드하거나 SQL Server 서비스 팩의 애플리케이션을 테스트할 수 있습니다. 또한 SQL Server RML 유틸리티를 사용하여 다양한 재생 워크로드를 분석하고 비교할 수 있습니다. 이러한 종류의 회귀 분석은 수동으로 수행해야 하는 어려운 프로세스가 될 수 있습니다.

도움말 파일에는 빠른 시작 항목이 포함되어 있습니다. 이 항목에는 모든 RML 도구를 숙지하는 간단한 연습이 포함되어 있습니다. 도움말 파일을 열려면 시작을 선택하고 모든 프로그램을 가리키고 SQL Server RML 유틸리티를 가리킨 다음 도움말을 가리킨 다음 RML 도움말을 선택합니다.

RML 유틸리티의 도구 SQL Server

SQL Server RML 유틸리티에는 다음 도구가 포함되어 있습니다.

  • ReadTrace
  • 기자
  • Ostress
  • OStress ORCA(Replay Control Agent)

모든 도구 및 샘플 사용에 대한 전체 설명은 SQL Server RML 유틸리티에 포함된 RML 도움말 파일을 참조하세요.

SQL Server RML 유틸리티에 대한 종속성

중요

RML 도구 모음의 일부로 제공되는 애플리케이션에는 몇 가지 추가 컨트롤을 사용할 수 있어야 합니다.

Reporter에 대한 종속성

  1. 보고서 뷰어 컨트롤이 Reporter.exe 같은 폴더 또는 GAC(전역 어셈블리 캐시)에서 사용할 수 있는지 확인해야 합니다. Reporter.exe 필요한 DLL은 다음과 같습니다.

    • Microsoft.ReportViewer.Common.dll
    • Microsoft.ReportViewer.DataVisualization.dll
    • Microsoft.ReportViewer.ProcessingObjectModel.dll
    • Microsoft.ReportViewer.WinForms.dll

    다음 PowerShell 스크립트를 사용하여 이러한 DLL을 다운로드할 수 있습니다.

    Register-PackageSource -Name MyNuGet -Location https://www.nuget.org/api/v2 -ProviderName NuGet
    Get-PackageSource
    
    Find-Package Microsoft.ReportViewer.Common -AllVersions
    Install-Package Microsoft.ReportViewer.Common -RequiredVersion 10.0.40219.1
    
    Copy-Item -Path "C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.ReportViewer.Common.10.0.40219.1\lib\Microsoft.ReportViewer.Common.dll" -Destination "C:\Program Files\Microsoft Corporation\RMLUtils"
    Copy-Item -Path "C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.ReportViewer.Common.10.0.40219.1\lib\Microsoft.ReportViewer.DataVisualization.dll" -Destination "C:\Program Files\Microsoft Corporation\RMLUtils"
    Copy-Item -Path "C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.ReportViewer.Common.10.0.40219.1\lib\Microsoft.ReportViewer.ProcessingObjectModel.dll" -Destination "C:\Program Files\Microsoft Corporation\RMLUtils"
    
    Find-Package Microsoft.ReportViewer.WinForms -AllVersions
    Install-Package Microsoft.ReportViewer.WinForms -RequiredVersion 10.0.40219.1
    
    Copy-Item -Path "C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.ReportViewer.WinForms.10.0.40219.1\lib\Microsoft.ReportViewer.WinForms.dll" -Destination "C:\Program Files\Microsoft Corporation\RMLUtils"
    
  2. ReadTrace 보고서 내의 링크가 제대로 작동할 수 있도록 ReporterViewer 수정 사항을 다운로드하여 설치해야 합니다. ReporterViewer 수정 사항을 다운로드하려면 Microsoft Visual Studio 2010 서비스 팩 1 보고서 뷰어(KB2549864)로 이동합니다.

Expander에 대한 종속성

압축 및 압축 해제 컨트롤이 Expander.exe 같은 폴더 또는 GAC에서 사용할 수 있는지 확인합니다. Expander.exe 필요한 DLL은 다음과 같습니다.

  • BRICOLSOFTZipx64.dll
  • UnRar64.dll
  • XceedZipX64.dll

공급업체의 해당 소프트웨어 패키지에서 다음 DLL을 가져올 수 있습니다.

ReadTrace 및 Ostress에 대한 종속성

ReadTrace 및 Ostress는 SQL Server Native Client 일부로 제공되는 ODBC 및 OLEDB 드라이버를 사용합니다. 확장 이벤트 파일(*.xel)을 분석하려는 경우 Visual C++ 2010 재배포 가능 패키지가 시스템에 설치되어 있는지 확인합니다.

알려진 문제 및 수정 사항

문제 해결 방법
ReadTrace에서 "ERROR: 이벤트 런타임 검사: 이벤트 시퀀스 209494 [sp_cache_remove]에서 누락된 열 [cached_text]이 검색됨"이 발생합니다. 버전 09.04.0102에서 수정되었습니다. 해결 방법으로 ReadTrace 명령줄에 추적 플래그(-T28 -T29)를 추가할 수 있습니다.
기자가 "'Reporter, Version=9.4.10000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 또는 해당 종속성 중 하나를 로드할 수 없습니다. 강력한 이름 유효성 검사에 실패했습니다. (HRESULT에서 예외: 0x8013141A)" 버전 09.04.0102에서 수정되었습니다. 해결 방법으로 강력한 이름 확인을 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\Reporter,31BF3856AD364E35재정의하는 레지스트리 키를 만들 수 있습니다.
ReadTrace가 "지정된 서버에 연결할 수 없습니다. 초기 HRESULT: 0x80040154". Ostress가 실패하고 "연결 설정 시도가 실패했습니다. SSL 보안 오류입니다.". SQL Server Native Client 설치 지침을 참조하세요.
ReadTrace "처리되지 않은 예외: System.IO.FileNotFoundException: 파일 또는 어셈블리 'Microsoft.SqlServer.XEvent.Linq.dll' 또는 해당 종속성 중 하나를 로드할 수 없습니다. 지정한 모듈을 찾을 수 없습니다." Visual C++ 2010 재배포 가능 패키지 설치

예제

다음 예제에서는 RML 도구 중 일부를 사용하는 방법을 보여 줍니다.

ReadTrace.exe 사용하여 데이터베이스에서 Xevent 데이터 가져오기

ReadTrace.exe 사용하여 PSSDIAG/SQLDiag.exe 또는 SQL LogScout과 같은 도구를 사용하여 수집되는 일련의 Xevent 파일을 가져옵니다. 매개 변수를 -I 사용하여 여러 파일이 있는 경우 시간에 수집된 첫 번째 .xel 파일을 가리킵니다. 모든 명령줄 스위치의 경우 을 사용합니다 ReadTrace.exe /?.

ReadTrace.exe -Iserver_instance_20220211T1319480819_xevent_LogScout_target_0_132890707717540000.xel -oc:\temp\output -f -dPerfAnalysisDb -S.

Ostress.exe 사용하여 쿼리 스트레스 테스트

OStress를 사용하여 30개의 동시 연결을 실행하고 각 연결에서 쿼리를 10번 실행하여 SQL Server 실행하는 서버에 대해 쿼리를 제출합니다. 모든 명령줄 스위치의 경우 을 사용합니다 Ostress.exe /?.

ostress.exe -E -dmaster -Q"select name from sys.databases" -n30 -r10

타사 연락처 고지

Microsoft는 이 항목에 대한 추가 정보를 찾는 데 도움이 되는 타사 연락처 정보를 제공합니다. 이 연락처 정보는 공지 없이 변경될 수 있습니다. Microsoft는 타사 연락처 정보의 정확성을 보장하지 않습니다.