Analysis Services 인스턴스는 서버 알림, 오류 및 경고를 설치한 각 인스턴스에 대해 하나씩 msmdsrv.log 파일에 기록합니다. 관리자는 이 로그를 참조하여 일상적인 이벤트와 특별한 이벤트에 대한 인사이트를 제공합니다. 최근 릴리스에서는 더 많은 정보를 포함하도록 로깅이 향상되었습니다. 이제 로그 레코드에는 제품 버전 및 버전 정보뿐만 아니라 프로세서, 메모리, 연결 및 차단 이벤트가 포함됩니다. 로깅 개선 사항에서 전체 변경 목록을 검토할 수 있습니다.
많은 관리자와 개발자는 기본 제공 로깅 기능 외에도 Analysis Services 커뮤니티에서 제공하는 도구를 사용하여 ASTrace와 같은 서버 작업에 대한 데이터를 수집합니다. 다운로드 링크는 Microsoft SQL Server 커뮤니티 샘플: Analysis Services 를 참조하세요.
이 항목에는 다음 섹션이 포함되어 있습니다.
비고
로깅에 대한 정보를 찾는 경우 처리 및 쿼리 실행 경로를 표시하는 추적 작업에도 관심이 있을 수 있습니다. 임시 추적 및 지속적인 추적(예: 큐브 액세스 감사)에 대한 추적 개체와 플라이트 레코더, SQL Server Profiler 및 xEvents를 가장 잘 사용하는 방법에 대한 권장 사항은 다음 페이지의 링크를 통해 찾을 수 있습니다. Analysis Services 인스턴스 모니터링.
로그의 위치 및 유형
Analysis Services는 아래에 설명된 로그를 제공합니다.
| 파일 이름 또는 위치 | 유형 | 사용 목적 | 기본적으로 켜짐 |
|---|---|---|---|
| Msmdsrv.log | 오류 로그 | 일상적인 모니터링 및 기본 문제 해결 | 예 |
| 관계형 데이터베이스의 OlapQueryLog 테이블 | 쿼리 로그 | 사용 최적화 마법사에 대한 입력 수집 | 아니오 |
| SQLDmp<guid>.mdmp 파일 | 충돌 및 예외 | 상세한 문제 해결 | 아니오 |
이 항목에서는 다루지 않는 추가 정보 리소스에 대해 다음 링크를 사용하는 것이 좋습니다. Microsoft 지원의 초기 데이터 수집 팁입니다.
로그 파일 구성 설정에 대한 일반 정보
\Program Files\Microsoft SQL Server\MSAS12에 있는 msmdsrv.ini 서버 구성 파일에서 각 로그에 대한 섹션을 찾을 수 있습니다. MSSQLSERVER\OLAP\Config 폴더. 파일 편집에 대한 지침 은 Analysis Services의 서버 속성 구성 을 참조하세요.
가능한 경우 Management Studio의 서버 속성 페이지에서 로깅 속성을 설정하는 것이 좋습니다. 경우에 따라 msmdsrv.ini 파일을 직접 편집하여 관리 도구에 표시되지 않는 설정을 구성해야 합니다.
MSMDSRV 서비스 로그 파일
Analysis Services는 서버 작업을 \program files\Microsoft SQL Server<\instance>\Olap\Log에 있는 인스턴스당 하나씩 msmdsrv.log 파일에 기록합니다.
이 로그 파일은 서비스를 다시 시작할 때마다 비워집니다. 이전 릴리스에서는 관리자가 로그 파일이 너무 커져서 사용할 수 없게 되기 전에 파일을 플러시하기 위해서만 서비스를 다시 시작하는 경우가 있었습니다. 이는 더 이상 필요하지 않습니다. SQL Server 2012 SP2 이상에서 도입된 구성 설정을 사용하면 로그 파일의 크기와 해당 기록을 제어할 수 있습니다.
MaxFileSizeMB는 최대 로그 파일 크기(MB)를 지정합니다. 기본값은 256입니다. 유효한 대체 값은 양의 정수여야 합니다. 도달하면MaxFileSizeMBAnalysis Services는 현재 파일의 이름을 msmdsrv{current timestamp}.log 파일로 바꾸고 새 msmdsrv.log 파일을 시작합니다.MaxNumberFiles는 이전 로그 파일의 보존을 지정합니다. 기본값은 0(사용 안 함)입니다. 로그 파일의 버전을 유지하기 위해 양의 정수로 변경할 수 있습니다.MaxNumberFiles에 도달했을 때, Analysis Services는 이름에 가장 오래된 타임스탬프가 있는 파일을 삭제합니다.
이러한 설정을 사용하려면 다음을 수행합니다.
메모장에서 msmdsrv.ini을 엽니다.
다음 두 줄을 복사합니다.
<MaxFileSizeMB>256</MaxFileSizeMB> <MaxNumberOfLogFiles>5</MaxNumberOfLogFiles>두 줄을 msmdsrv.log 파일 이름 아래에 있는 msmdsrv.ini로그 섹션에 붙여넣습니다. 두 설정을 모두 수동으로 추가해야 합니다. msmdsrv.ini 파일에 그들에 대한 자리 표시자가 없습니다.
변경된 구성 파일은 다음과 같습니다.
<Log> <File>msmdsrv.log</File> <MaxFileSizeMB>256</MaxFileSizeMB> <MaxNumberOfLogFiles>5</MaxNumberOfLogFiles> <FileBufferSize>0</FileBufferSize>제공된 값이 원하는 값과 다른 경우 값을 편집합니다.
파일을 저장합니다.
서비스를 다시 시작합니다.
쿼리 로그
쿼리 로그는 사용자의 MDX 또는 DAX 쿼리 활동을 기록하지 않는다는 점에서 약간 오해의 소지가 있습니다. 대신 Analysis Services에서 생성된 쿼리에 대한 데이터를 수집합니다. 이 쿼리는 이후에 사용량 기반 최적화 마법사에서 데이터 입력으로 사용됩니다. 쿼리 로그에 수집된 데이터는 직접 분석을 위한 것이 아닙니다. 특히 데이터 세트는 데이터 세트의 일부가 쿼리에 포함되어 있음을 나타내는 0 또는 1과 함께 비트 배열로 설명됩니다. 다시 말하지만, 이 데이터는 마법사를 위한 것입니다.
쿼리 모니터링 및 문제 해결을 위해 많은 개발자와 관리자는 커뮤니티 도구 인 ASTrace를 사용하여 쿼리를 모니터링합니다. SQL Server Profiler, xEvents 또는 Analysis Services 추적을 사용할 수도 있습니다. 추적 관련 링크를 보려면 Analysis Services 인스턴스 모니터링을 참조하세요.
쿼리 로그는 언제 사용해야 하나요? 사용량 기반 최적화 마법사를 포함하는 쿼리 성능 튜닝 연습의 일부로 쿼리 로그를 사용하도록 설정하는 것이 좋습니다. 이 기능을 사용하도록 설정하고, 해당 기능을 지원하는 데이터 구조를 만들고, Analysis Services에서 로그를 찾고 채우는 데 사용하는 속성을 설정하기 전까지는 쿼리 로그가 존재하지 않습니다.
쿼리 로그를 사용하도록 설정하려면 다음 단계를 수행합니다.
쿼리 로그를 저장할 SQL Server 관계형 데이터베이스를 만듭니다.
Analysis Services 서비스 계정에 데이터베이스에 대한 충분한 권한을 부여합니다. 계정에는 테이블을 만들고, 테이블에 쓰고, 테이블에서 읽을 수 있는 권한이 필요합니다.
SQL Server Management Studio에서 Analysis Services | 속성 | 일반을 마우스 오른쪽 단추로 클릭하고 CreateQueryLogTable 을 true로 설정합니다.
필요에 따라 다른 속도로 쿼리를 샘플링하거나 테이블에 다른 이름을 사용하려면 QueryLogSampling 또는 QueryLogTableName 을 변경합니다.
쿼리 로그 테이블은 샘플링 요구 사항을 충족하기에 충분한 MDX 쿼리를 실행할 때까지 만들어지지 않습니다. 예를 들어 기본값을 10으로 유지하는 경우 테이블을 만들기 전에 10개 이상의 쿼리를 실행해야 합니다.
쿼리 로그 설정은 서버 전체입니다. 지정한 설정은 이 서버에서 실행되는 모든 데이터베이스에서 사용됩니다.
구성 설정을 지정한 후 MDX 쿼리를 여러 번 실행합니다. 샘플링이 10으로 설정된 경우 쿼리를 11번 실행합니다. 테이블이 생성되었는지 확인합니다. Management Studio에서 관계형 데이터베이스 엔진에 연결하고, 데이터베이스 폴더를 열고, 테이블 폴더를 열고, OlapQueryLog 가 있는지 확인합니다. 폴더의 내용에 변경 사항이 있을 경우 테이블이 즉시 보이지 않으면 새로 고침하여 업데이트를 확인하십시오.
쿼리 로그가 사용량 기반 최적화 마법사에 대한 충분한 데이터를 누적하도록 허용합니다. 쿼리 볼륨이 주기적인 경우 대표적인 데이터 집합을 갖도록 충분한 트래픽을 캡처합니다. 마법사를 실행하는 방법에 대한 지침은 사용량 기반 최적화 마법사를 참조하세요.
쿼리 로그 구성에 대한 자세한 내용은 Analysis Services 쿼리 로그 구성 을 참조하세요. 이 문서는 오래되었지만 쿼리 로그 구성은 최근 릴리스에서 변경되지 않았으며 포함된 정보는 여전히 적용됩니다.
미니 덤프(.mdmp) 파일
덤프 파일은 특별한 이벤트를 분석하는 데 사용되는 데이터를 캡처합니다. Analysis Services는 서버 충돌, 예외 및 일부 구성 오류에 대한 응답으로 자동으로 미니 덤프(.mdmp)를 생성합니다. 이 기능은 사용하도록 설정되어 있지만 크래시 보고서를 자동으로 전송하지는 않습니다.
크래시 보고서는 Msmdsrv.ini 파일의 예외 섹션을 통해 구성됩니다. 이러한 설정은 메모리 덤프 파일 생성을 제어합니다. 다음 코드 조각은 기본값을 보여줍니다.
<Exception>
<CreateAndSendCrashReports>1</CreateAndSendCrashReports>
<CrashReportsFolder/>
<SQLDumperFlagsOn>0x0</SQLDumperFlagsOn>
<SQLDumperFlagsOff>0x0</SQLDumperFlagsOff>
<MiniDumpFlagsOn>0x0</MiniDumpFlagsOn>
<MiniDumpFlagsOff>0x0</MiniDumpFlagsOff>
<MinidumpErrorList>0xC1000000, 0xC1000001, 0xC102003F, 0xC1360054, 0xC1360055</MinidumpErrorList>
<ExceptionHandlingMode>0</ExceptionHandlingMode>
<CriticalErrorHandling>1</CriticalErrorHandling>
<MaxExceptions>500</MaxExceptions>
<MaxDuplicateDumps>1</MaxDuplicateDumps>
</Exception>
크래시 보고서 구성
Microsoft 지원에서 달리 지시하지 않는 한 대부분의 관리자는 기본 설정을 사용합니다. 이 이전 KB 문서는 덤프 파일을 구성하는 방법: 메모리 덤프 파일을 생성하도록 Analysis Services를 구성하는 방법에 대한 지침을 제공하는 데 계속 사용됩니다.
수정될 가능성이 가장 큰 구성 설정은 CreateAndSendCrashReports 메모리 덤프 파일이 생성될지 여부를 결정하는 데 사용되는 설정입니다.
| 가치 | 설명 |
|---|---|
| 0 | 메모리 덤프 파일을 끕니다. 예외 섹션의 다른 모든 설정은 무시됩니다. |
| 1 | (기본값) 메모리 덤프 파일을 사용하지만 보내지는 않습니다. |
| 2 | 오류 보고서를 사용하도록 설정하고 Microsoft에 자동으로 보냅니다. |
CrashReportsFolder 는 덤프 파일의 위치입니다. 기본적으로 .mdmp 파일 및 연결된 로그 레코드는 \Olap\Log 폴더에서 찾을 수 있습니다.
SQLDumperFlagsOn 는 전체 덤프를 생성하는 데 사용됩니다. 기본적으로 전체 덤프는 사용하도록 설정되지 않습니다. 이 속성을 0x34로 설정할 수 있습니다.
다음 링크는 더 많은 배경을 제공합니다.
팁 및 모범 사례
이 섹션은 이 문서 전체에서 언급한 팁의 요약입니다.
msmdsrv 로그 파일의 크기와 수를 제어하도록 msmdsrv.log 파일을 구성합니다. 설정은 기본적으로 사용하도록 설정되지 않으므로 설치 후 단계로 추가해야 합니다. 이 항목에서 MSMDSRV 서비스 로그 파일을 참조하세요.
Microsoft 고객 지원의 이 블로그 게시물을 검토하여 서버 작업에 대한 정보를 가져오는 데 사용하는 리소스를 알아봅니다. 초기 데이터 수집
쿼리 로그 대신 ASTrace2012를 사용하여 큐브를 쿼리하는 사용자를 확인합니다. 쿼리 로그는 일반적으로 사용량 기반 최적화 마법사에 입력을 제공하는 데 사용되며 캡처하는 데이터를 읽거나 해석하기가 쉽지 않습니다. ASTrace2012는 쿼리 작업을 캡처하는 커뮤니티 도구로 널리 사용됩니다. Microsoft SQL Server 커뮤니티 샘플: Analysis Services를 참조하세요.
또한 참조하십시오
Analysis Services 인스턴스 관리
SQL Server Profiler를 사용하여 Analysis Services 모니터링 소개
Analysis Services에서 서버 속성 구성