Microsoft SQL Server 데이터베이스 로그 파일 - Amazon Relational Database Service

Microsoft SQL Server 데이터베이스 로그 파일

Amazon RDS 콘솔 또는 AWS CLI 또는 RDS API를 사용하여 Microsoft SQL Server 오류 로그, 에이전트 로그, 추적 파일 및 덤프 파일에 액세스할 수 있습니다. 파일 기반 데이터베이스 로그 보기, 다운로드 및 조사 방법에 대한 자세한 내용은 Amazon RDS 로그 파일 모니터링 단원을 참조하십시오.

보존 일정

로그 파일은 날마다, 그리고 DB 인스턴스가 다시 시작될 때마다 교환됩니다. 다음은 Amazon RDS의 Microsoft SQL Server 로그에 대한 보존 일정입니다.

로그 유형 보존 일정

오류 로그

최대 30개의 오류 로그가 보존됩니다. Amazon RDS는 7일이 경과한 오류 로그를 삭제할 수도 있습니다.

에이전트 로그

최대 10개의 에이전트 로그가 보존됩니다. Amazon RDS에서는 7일이 경과한 에이전트 로그를 삭제할 수 있습니다.

추적 파일

추적 파일은 DB 인스턴스의 추적 파일 보존 기간에 따라 보존됩니다. 추적 파일의 기본 보존 기간은 7일입니다. DB 인스턴스의 추적 파일 보존 기간을 수정하려면 추적 및 덤프 파일의 보존 기간 설정 단원을 참조하십시오.

덤프 파일

덤프 파일은 DB 인스턴스의 덤프 파일 보존 기간에 따라 보존됩니다. 덤프 파일의 기본 보존 기간은 7일입니다. DB 인스턴스의 덤프 파일 보존 기간을 수정하려면 추적 및 덤프 파일의 보존 기간 설정 단원을 참조하십시오.

rds_read_error_log 프로시저를 사용하여 SQL Server 오류 로그 보기

Amazon RDS 저장 프로시저 rds_read_error_log를 사용하여 오류 로그 및 에이전트 로그를 볼 수 있습니다. 자세한 내용은 오류 및 에이전트 로그 보기 섹션을 참조하세요.

Amazon CloudWatch Logs에 SQL Server 로그 게시

Amazon RDS for SQL Server의 경우, 오류 및 에이전트 로그 이벤트를 Amazon CloudWatch Logs에 직접 게시할 수 있습니다. CloudWatch Logs로 로그 데이터를 분석한 다음 CloudWatch를 사용하여 경보를 만들고 지표를 봅니다.

CloudWatch Logs을 사용하여 다음 작업을 할 수 있습니다.

  • 정의한 보존 기간 만큼, 내구성이 뛰어난 스토리지 공간에 로그를 저장하십시오.

  • 로그 데이터를 검색하고 필터링합니다.

  • 계정 간에 로그 데이터를 공유합니다.

  • Amazon S3로 로그를 내보냅니다.

  • Amazon OpenSearch Service로 데이터를 스트리밍합니다.

  • Amazon Kinesis Data Streams를 이용해 로그 데이터를 실시간으로 처리합니다. 자세한 내용은 SQL 애플리케이션용 Amazon Managed Service for Apache Flink 개발자 안내서의 Amazon CloudWatch Logs로 작업을 참조하세요.

Amazon RDS는 각 SQL Server 데이터베이스 로그를 로그 그룹에 개별적인 데이터베이스 스트림으로 게시합니다. 예를 들어, 에이전트 로그 및 오류 로그를 게시하면 오류 데이터가 /aws/rds/instance/my_instance/error 로그 그룹의 오류 로그 스트림에 저장되고 에이전트 로그 데이터가 /aws/rds/instance/my_instance/agent 로그 그룹에 저장됩니다.

다중 AZ DB 인스턴스의 경우 Amazon RDS는 데이터베이스 로그를 로그 그룹에 별도의 두 스트림으로 게시합니다. 예를 들어 오류 로그를 게시하는 경우 오류 데이터가 오류 로그 스트림 /aws/rds/instance/my_instance.node1/error/aws/rds/instance/my_instance.node2/error에 각각 저장됩니다. 로그 스트림은 장애 조치 중에 변경되지 않으며 각 노드의 오류 로그 스트림에는 기본 또는 보조 인스턴스의 오류 로그가 포함될 수 있습니다. 다중 AZ를 사용하면 DB 인스턴스 장애 조치와 같은 이벤트 데이터를 저장하기 위해 /aws/rds/instance/my_instance/rds-events에 대한 로그 스트림이 자동으로 생성됩니다.

참고

CloudWatch Logs의 SQL Server 로그 게시는 기본적으로 활성화되지 않습니다. 추적 및 덤프 파일 게시는 지원되지 않습니다. CloudWatch Logs에 SQL Server 로그 게시는 아시아 태평양(홍콩)을 제외한 모든 리전에 지원됩니다.

AWS Management Console에서 SQL Server DB 로그를 CloudWatch Logs에 게시하려면
  1. https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 데이터베이스를 선택한 다음 변경하려는 DB 인스턴스를 선택합니다.

  3. 수정을 선택합니다.

  4. 로그 내보내기 섹션에서 CloudWatch Logs에 게시하기 시작할 로그를 선택합니다.

    에이전트 로그(Agent log), 오류 로그(Error log) 또는 둘 다를 선택할 수 있습니다.

  5. [Continue]를 선택한 후, 요약 페이지에서 [Modify DB Instance]를 선택합니다.

SQL Server 로그를 게시하기 위해 다음 파라미터와 함께 modify-db-instance 명령을 사용할 수 있습니다.

  • --db-instance-identifier

  • --cloudwatch-logs-export-configuration

참고

--cloudwatch-logs-export-configuration 옵션에 대한 변경 사항은 항상 DB 인스턴스에 즉시 적용됩니다. 따라서 --apply-immediately--no-apply-immediately 옵션은 지정해도 아무런 효과가 없습니다.

또한 다음 명령을 사용하여 SQL Server 로그를 게시할 수 있습니다.

다음 예에서는 CloudWatch Logs 게시가 활성화된 SQL Server DB 인스턴스를 생성합니다. --enable-cloudwatch-logs-exports 값은 error, agent 또는 둘 다 포함할 수 있는 문자열의 JSON 배열입니다.

Linux, macOS 또는 Unix 대상:

aws rds create-db-instance \ --db-instance-identifier mydbinstance \ --enable-cloudwatch-logs-exports '["error","agent"]' \ --db-instance-class db.m4.large \ --engine sqlserver-se

Windows의 경우:

aws rds create-db-instance ^ --db-instance-identifier mydbinstance ^ --enable-cloudwatch-logs-exports "[\"error\",\"agent\"]" ^ --db-instance-class db.m4.large ^ --engine sqlserver-se
참고

Windows 명령 프롬프트를 사용하는 경우 백슬래시(\)를 접두사로 추가하여 JSON 코드에서 큰 따옴표(")를 이스케이프해야 합니다.

다음 예에서는 CloudWatch Logs에 로그 파일을 게시하도록 기존 SQL Server DB 인스턴스를 수정합니다. --cloudwatch-logs-export-configuration 값은 JSON 객체입니다. 이 객체의 키는 EnableLogTypes입니다. 값은 error, agent 또는 둘 다 포함할 수 있는 문자열의 배열입니다.

Linux, macOS 또는 Unix 대상:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["error","agent"]}'

Windows의 경우:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --cloudwatch-logs-export-configuration "{\"EnableLogTypes\":[\"error\",\"agent\"]}"
참고

Windows 명령 프롬프트를 사용하는 경우 백슬래시(\)를 접두사로 추가하여 JSON 코드에서 큰 따옴표(")를 이스케이프해야 합니다.

다음 예제는 기존 SQL Server DB 인스턴스를 수정하여 CloudWatch Logs에 에이전트 로그 파일 게시를 비활성화합니다. --cloudwatch-logs-export-configuration 값은 JSON 객체입니다. 이 객체의 키는 DisableLogTypes입니다. 값은 error, agent 또는 둘 다 포함할 수 있는 문자열의 배열입니다.

Linux, macOS 또는 Unix 대상:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --cloudwatch-logs-export-configuration '{"DisableLogTypes":["agent"]}'

Windows의 경우:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --cloudwatch-logs-export-configuration "{\"DisableLogTypes\":[\"agent\"]}"
참고

Windows 명령 프롬프트를 사용하는 경우 백슬래시(\)를 접두사로 추가하여 JSON 코드에서 큰 따옴표(")를 이스케이프해야 합니다.