Failed to initialize MSDB database for tuning (exit code: -1073741819). (DTAClient)

Posted by Alvin You
2015. 4. 15. 21:47 SQL Server

Analyze Query in Database Engine Tuning Advisor 실행시 아래와 같은 오류가 발생한다면, MSDB에 DTA 관련 Objects들을 생성해 주면 됩니다.

[오류 메시지]

 

[스크립트 실행]

 

DTA_Objects_SQL.txt

 

Dynamics AX Trace Parser 사용법

Posted by Alvin You
2015. 4. 15. 13:23 Dynamics AX/Performance

Dynamics AX Trace Parser는 AOS Server와 Client간의 User Session, Call Trees, SQL Statements, Execution durations과 같은 정보를 모아 분석할 수 있는 환경을 제공합니다.

Trace 파일 생성을 위해 아래와 같이 CusTransTracing Class와 Main Method를 작성했습니다.

Trace 파일 수집을 위해서 Tools > Tracing cockpit 메뉴를 실행합니다.

[Tracing cockpit 화면]

Start trace 버튼을 눌러 Trace 파일이 저장될 공간과 이름을 C:\Temp\trace.etl 파일로 지정합니다.

이후 CustTransTracing Class를 실행시킨 후 Stop Trace 버튼을 눌러 Trace를 종료합니다.

Open Trace 버튼을 눌러 Microsoft Dynamics AX Trace Parser 프로그램을 띄웁니다. AX Trace Parser는 아래 그림과 같이 MS Dynamics AX 2012 프로그램 그룹안에서 실행할 수도 있습니다.

[Microsoft Dynamics AX Trace Parser 실행 화면]

MS Dynamics AX Trace Parser를 이용하면 개발되어 실행되는 모듈의 Class 정보, Class를 통해서 실행되는 SQL 문과 실행시간 등을 확인할 수 있습니다. 이렇게 수집된 자료를 분석하면, AX Performance를 높일 수 있는 Tuning Point를 발견해 성능 개선을 해 나갈 수 있습니다.

효율적인 SQL문 작성하기

Posted by Alvin You
2015. 4. 15. 11:47 Dynamics AX/Performance

아래 2개의 Table Method는 똑 같은 결과를 가져오지만, 데이터베이스의 Round Trip을 줄인 findByCustAccount2 코드가 더 효율적인 코드라고 볼 수 있습니다.

 

 

X++ 코드 실행시간 계산하기

Posted by Alvin You
2015. 4. 15. 11:27 Dynamics AX/Performance

아래 코드를 이용하면, AX로 개발된 코드의 실행시간을 계산할 수 있습니다.