Amazon RDS for SQL Server에서 서버 측 추적 기록을 읽으려면 어떻게 해야 하나요?

최종 업데이트 날짜: 2019년 12월 20일

SQL Server용 Amazon Relational Database Service(Amazon RDS)에서 서버 측 추적을 읽으려면 어떻게 해야 하나요?

간략한 설명

Amazon RDS는 관리형 서비스로, 사용자에게 운영 체제에 대한 액세스를 허용하지 않습니다. 자체 호스팅되는 SQL Server를 사용하는 경우에는 호스트에 액세스할 수 있으며 프로파일러 GUI를 사용하면 추적 기록 파일을 열 수 있습니다. 원격으로 Amazon RDS DB 인스턴스에 연결하고 추적을 수집하여 클라이언트 측 추적을 실행할 수 있습니다. 그러면 원격 클라이언트에 추적 기록 파일이 생성됩니다. 프로파일러는 클라이언트 측 도구이기 때문에 연결이 해제되면 추적 기록이 중지됩니다. 연결이 끊어지지 않도록 하려면 서버 측 추적 기록을 실행합니다.

해결 방법

T-SQL 문을 사용하여 서버 측 추적 기록 읽기

1.    다음 T-SQL 문과 같은 명령을 실행하여 서버에서 현재 실행 중인 추적 기록을 확인합니다.

select * from sys.traces;

참고: sys.traces 카탈로그 보기에는 시스템에서 현재 실행 중인 추적 기록이 표시됩니다.

2.    다음 fn_trace_gettable 함수와 같은 명령을 실행하여 추적 기록 파일을 읽습니다.

select * from ::fn_trace_gettable('D:\rdsdbdata\log\rdstest.trc', default);

3.    선택적으로 서버 측 추적 결과를 데이터베이스 테이블에 저장할 수 있습니다. 그런 다음, 다음 fn_trace_gettable 함수와 유사한 명령을 실행하여 데이터베이스 테이블을 튜닝 어드바이저의 워크로드로 사용할 수 있습니다.

SELECT * INTO RDSTrace
FROM fn_trace_gettable('D:\rdsdbdata\Log\RDSTrace.trc', default);

참고: 다음 명령은 D:\rdsdbdata\Log 디렉터리에서 RDSTrace_1.trc 등과 같은 모든 롤오버 파일을 포함하여 RDSTrace.trc라는 모든 파일의 결과를 현재 데이터베이스에 있는 RDSTrace라는 이름의 테이블로 로드합니다.

추적 및 덤프 파일이 누적되면 디스크 공간을 많이 차지할 수 있습니다. 기본적으로 Amazon RDS는 7일 이상 지난 추적 파일과 덤프 파일을 삭제합니다. rds_set_configuration 저장 프로시저를 사용하여 추적 파일 보존을 설정함으로써 추적 파일의 보존 기간을 수정할 수 있습니다. 다음 저장 프로시저는 추적 파일 보존 기간을 24시간(1,440분)으로 설정합니다.

exec rdsadmin..rds_set_configuration 'tracefile retention', 1440;