2016-06-13 1 views
0

SQL Server 2012 MOLAP 큐브를 처리하는 동안 로그에서 가져 오는 오류입니다.MOLAP 큐브를 처리하는 동안 버퍼 래치 유형 3을 대기하는 동안 시간이 초과되었습니다.

"페이지 (1 : 2044928)의 버퍼 래치 유형 3을 기다리는 동안 시간 초과가 발생했습니다. 데이터베이스 ID 2 .; 42000." Microsoft SQL Server 2012 Analysis Services HelpFile = "오류 ErrorCode ="3240034318 "OLAP 저장소 엔진의 오류 : 'PE 큐브'큐브에 대한 측정 값 그룹의 '측정'파티션을 처리하는 동안 오류가 발생했습니다. 큐브 데이터베이스에서. "

나는 XMLA에서 처리 작업을 스크립트하고 에이전트 작업에 SSAS 명령을 통해 처리를 실행한다. 첫 번째 단계는 업데이트 모든 차원을 처리하는 것입니다 이것은 성공하지만 내가 원하는 때 to process 큐브의 데이터로드가 실패하고이 오류가 나타납니다.

SSIS 패키지로 처리를 처음 시도했지만 이로 인해 작업이 실패하는 대신 전체 서버가 손상되었습니다. 행하다 에이스 문제가 있지만 작업을 실행하는 컴퓨터는 16 프로세서와 112GB RAM이있는 Azure VM이므로 어디에서야 잘 모르겠습니다. 나는 또한 서버에서 다른 작업없이 작업을 실행하려고 시도했지만 도움이되지 않았습니다. SSAS 인스턴스가있는 디스크의 여유 공간은 여전히 ​​500GB입니다. 측정 값 그룹은 1 억 8 천만 개의 레코드가 포함 된 테이블을 쿼리합니다.

데이터가 적은 방식으로 Dev 서버에서 큐브를 처리하는 동안 문제는 없습니다. 한 번 SSAS 큐브를 SSAS 내에서 처리하는 동안 전체 큐브를 처리하는 데 성공했지만 DTEXEC, SSISDB 또는 SSDT를 사용하여 처리하면 서버가 충돌합니다. 이전에 다른 시간 초과 오류가 발생했지만 SSAS ExternalCommandTimeOut, ExternalConnectionTimeOut 및 ForceCommitTimeout 속성을 0으로 조정하면 더 이상 발생하지 않았습니다.

여러 프로세싱 설정을 시도했지만 성능 문제라고 생각하기 때문에 가능한 한 성능을 낮추려고했습니다.

처리 설정 : 대상 : 큐브; 옵션 : 프로세스 데이터; 처리 순서 : 순차적 인 거래가있는 순차적 거래. Writeback 테이블 옵션 : Use Existing; 영향을받는 개체를 처리하지 마십시오.

업데이트 :이 완료되지 않았습니다 및 활동 모니터에 내가 Wait_Type IO_COMPLETION 및 CXPACKET를 많이보고, 스스로 오류를 트리거 조치를 처리 한 . 그리고 sys.dm_exe_requests를 쿼리 할 때 이미 오랫동안 많은 양의 읽기를 실행하고있는 Select with wait_type IO_Completion이 나타납니다. 지난 밤 나는 이전에 오류를 발생시킨 measuregroup을 제외한 모든 측정을 처리하려고했으나 불행하게도 전체 서버가 다시 추락 ...

갱신 2 : 우리는 프리미엄 스토리지 업그레이드로 보았다 , 그러나 이것은 우리를 의미 A11에서 DS 또는 GS 시리즈로 전환해야합니다. 즉, 라이브 솔루션이 포함 된 전체 VM의 크기를 조정하여 VHDS를 복원하고 라이브 솔루션의 일부가 들어있는 현재 OS 디스크를 교체하는 데 드는 시간과 노력을 들여야합니다. 우리가 식별 한 또 다른 옵션은 파티션을 적용하거나 측정 값에서 기본 쿼리를 개선하는 것입니다.불행히도 예상보다 많은 노력이 있었지만 지금 당장은 신속한 해결 방법을 통해 장기적인 솔루션 개선을 판매하는 데 많은 도움이됩니다.

갱신 3 : 우리는 D14의 V2에 A11 VM 마이그레이션 및 프리미엄 스토리지 디스크로 업그레이드하기 위해 마이크로 소프트와 그들이 조언과 접촉이 있었다. 이것은 우리의 다음 단계 일 것이며 곧 금요일에 실시 될 것입니다. 이전 후이 게시물을 업데이트하거나 닫을 것입니다.

정보를 놓친 경우 알려 주시기 바랍니다. 상황을 정확하게 지적하는 데 도움이 될만한 제안 사항을 보내 주시면 감사하겠습니다.

+0

버퍼 래치 시간 초과가 관계형 SQL 데이터베이스의 오류처럼 보입니다. 거기에 시간을 집중하십시오. – GregGalloway

+0

처리 중에 서버의 사용 가능한 RAM을 모니터 할 수 있습니까? 처리하는 동안 사용 가능한 RAM이 0으로 축소되는 것을 보게 될지도 모르겠다.하지만 그것은 단지 추측 일뿐입니다. 그게 무슨 일이 일어나면 우리에게 알려주고 도움이 될 SQL과 SSAS에 대한 적절한 메모리 제한을 논의 할 수 있습니다. 그렇지 않으면 우리는 다른 곳을 볼 것입니다. – GregGalloway

+0

안녕하세요 그렉, 답변 해 주셔서 감사합니다. SQL Server에 112GB RAM 중 60GB를 할당했으며, 처리 중에 msmdsrv.exe (SSAS)는 약 2-5GB를 사용합니다. RAM은 대부분 60 ~ 80 % 사용됩니다. 나는 또한 다른 활동이 없었을 때 처리를 시도했고 약 40 %의 여유 RAM이있었습니다. . – JeroenvS

답변

0

상황에 더 적합한 VM (DS14 V2)으로 업그레이드하고 P30 프리미엄 스토리지 디스크로 업그레이드하면 발생하는 문제가 해결되었습니다. 문제는 큐브가 처리 또는 구성되는 방식이 아니라 사용 된 하드웨어에 있습니다.

관련 문제