다음을 통해 공유


sys.event_log(Azure SQL 데이터베이스)

성공적인 SQL 데이터베이스 데이터베이스 연결과 연결 실패, 교착 상태 및 조정 이벤트를 반환합니다. 이 정보를 사용하여 SQL 데이터베이스가 있는 데이터베이스 활동을 추적하거나 문제 해결할 수 있습니다.

적용 대상: Azure SQL 데이터베이스.

sys.event_log 뷰는 다음 열을 포함합니다.

열 이름

데이터 형식

설명

database_name

sysname

데이터베이스의 이름입니다. 연결이 실패하고 사용자가 데이터베이스 이름을 지정하지 않은 경우 이 열은 비어 있습니다.

start_time

datetime2

집계 간격 시작의 UTC 날짜 및 시간입니다. 집계 이벤트에 대해 시간은 항상 5분의 배수입니다. 예를 들어

'2011-09-28 16:00:00'
'2011-09-28 16:05:00'
'2011-09-28 16:10:00'

end_time

datetime2

집계 간격 끝의 UTC 날짜 및 시간입니다. 집계 이벤트에 대해 End_time은 같은 행의 start_time보다 항상 정확히 5분 후에 해당합니다. 집계되지 않은 이벤트에 대해 start_time 및 end_time은 이벤트의 실제 UTC 날짜 및 시간과 같습니다.

event_category

nvarchar(64)

이 이벤트를 생성한 높은 수준의 구성 요소입니다.

사용 가능한 값 목록은 Event Types을 참조하세요.

event_type

nvarchar(64)

이벤트의 유형입니다.

사용 가능한 값 목록은 Event Types을 참조하세요.

event_subtype

int

발생 이벤트의 하위 유형입니다.

사용 가능한 값 목록은 Event Types을 참조하세요.

event_subtype_desc

nvarchar(64)

이벤트 하위 유형에 대한 설명입니다.

사용 가능한 값 목록은 Event Types을 참조하세요.

severity

int

오류의 심각도입니다. 가능한 값은

0 = 정보
1 = 경고
2 = 오류

event_count

int

이 이벤트가 지정된 시간 간격(start_time 및 end_time) 내에서 지정된 데이터베이스에 대해 발생한 횟수입니다.

description

nvarchar(max)

이벤트에 대한 상세한 설명입니다.

사용 가능한 값 목록은 Event Types을 참조하세요.

additional_data

XML

Deadlock 이벤트의 경우 이 열에는 교착 상태 그래프가 포함되어 있습니다. 이 열은 다른 이벤트 유형에 대해서는 NULL을 반환합니다.

이벤트 유형

이 뷰에서 각 행에 기록된 이벤트는 범주(event_category), 이벤트 유형(event_type) 및 하위 유형(event_subtype)으로 식별됩니다. 다음 테이블에서는 이 뷰에 수집된 이벤트 유형을 나열합니다.

connectivity 범주의 이벤트에 대한 요약 정보는 sys.database_connection_stats 뷰에서 사용할 수 있습니다.

참고

이 뷰에는 여기에 나와 있는 것 외에 발생할 수 있는 다른 SQL 데이터베이스 데이터베이스 이벤트가 포함되어 있지 않습니다.SQL 데이터베이스의 후속 릴리스에 범주, 이벤트 유형 및 하위 유형이 추가될 수 있습니다.

event_category

event_type

event_subtype

event_subtype_desc

severity

description

connectivity

connection_successful

0

connection_successful

0

데이터베이스에 연결되었습니다.

connectivity

connection_failed

0

invalid_login_name

2

이 SQL Server 버전에서 로그인 이름이 잘못되었습니다.

connectivity

connection_failed

1

windows_auth_not_supported

2

이 버전의 SQL Server에서는 Windows 로그인이 지원되지 않습니다.

connectivity

connection_failed

2

attach_db_not_supported

2

사용자가 지원되지 않는 데이터베이스 파일 첨부를 요청했습니다.

connectivity

connection_failed

3

change_password_not_supported

2

사용자가 지원되지 않는 사용자 로그인 암호 변경을 요청했습니다.

connectivity

connection_failed

4

login_failed_for_user

2

로그인에 실패했습니다.

connectivity

connection_failed

5

login_disabled

2

로그인을 사용할 수 없습니다.

connectivity

connection_failed

6

failed_to_open_db

2

데이터베이스를 열 수 없습니다. 열려는 데이터베이스가 존재하지 않거나 인증이 부족해서일 수 있습니다.

connectivity

connection_failed

7

blocked_by_firewall

2

클라이언트 IP 주소에서 서버에 액세스할 수 없습니다.

connectivity

connection_failed

8

client_close

2

클라이언트 연결 설정 시 시간이 초과되었습니다. 연결 제한 시간을 늘려 보세요.

connectivity

connection_failed

9

reconfiguration

2

당시에 데이터베이스가 재구성 중이었으므로 연결이 실패했습니다.

connectivity

connection_terminated

0

idle_connection_timeout

2

연결이 시스템에 정의된 임계값보다 오랫동안 유휴 상태였습니다.

connectivity

connection_terminated

1

reconfiguration

2

세션이 데이터베이스 재구성으로 인해 종료되었습니다.

connectivity

throttling

<이유 코드>

reason_code

2

요청이 정체되었습니다. 정체 이유 코드: <이유 코드> 자세한 내용은 엔진 조절을 참조하세요.

connectivity

throttling_long_transaction

40549

long_transaction

2

트랜잭션을 오래 실행하여 세션이 종료됩니다. 트랜잭션을 줄여 보세요. 자세한 내용은 리소스 제한을 참조하세요.

connectivity

throttling_long_transaction

40550

excessive_lock_usage

2

잠금을 너무 많이 획득하여 세션이 종료되었습니다. 단일 트랜잭션에서 읽거나 수정하는 행 수를 줄여 보세요. 자세한 내용은 리소스 제한을 참조하세요.

connectivity

throttling_long_transaction

40551

excessive_tempdb_usage

2

TEMPDB 사용량이 너무 많아 세션이 종료되었습니다. 쿼리를 수정하여 임시 테이블 공간 사용량을 줄여 보세요. 자세한 내용은 리소스 제한을 참조하세요.

connectivity

throttling_long_transaction

40552

excessive_log_space_usage

2

트랜잭션 로그 공간 사용량이 너무 많아 세션이 종료되었습니다. 단일 트랜잭션에서 수정하는 행 수를 줄여 보세요. 자세한 내용은 리소스 제한을 참조하세요.

connectivity

throttling_long_transaction

40553

excessive_memory_usage

2

메모리 사용량이 너무 많아 세션이 종료되었습니다. 쿼리를 수정하여 처리할 행 수를 줄여 보세요. 자세한 내용은 리소스 제한을 참조하세요.

engine

deadlock

0

deadlock

2

교착 상태가 발생했습니다.

사용 권한

master 데이터베이스에 대한 액세스 권한이 부여된 사용자는 이 뷰에 대해 읽기 권한만 보유합니다.

다음 쿼리는 2011년 9월 25일 정오와 2011년 9월 28일(UTC) 사이에 발생한 모든 이벤트를 반환합니다. 기본적으로 쿼리 결과는 start_time순으로 정렬됩니다(오름차순).

select * from sys.event_log where start_time>='2011-09-25:12:00:00' and end_time<='2011-09-28 12:00:00';

다음 쿼리는 데이터베이스 Database1에 대해 모든 교착 상태 이벤트를 반환합니다.

select * from sys.event_log where event_type='deadlock' and database_name='Database1';

다음쿼리는 2011년 9월 25일 오전 10시와 오전 11시(UTC) 사이에 발생한 SQL 작업자 스레드 이벤트에 대해 강제 일시 중지를 반환합니다.

select * from sys.event_log where event_type='throttling' and event_subtype=4194307 and start_time>='2011-09-25 10:00:00' and end_time<='2011-09-25 11:00:00';

주의

이벤트 집계

5분 간격 이내로 이 뷰에 이벤트 정보가 수집 및 집계됩니다. event_count 열은 지정된 시간 간격 이내에 특정 데이터베이스에 대해 발생한 특정 event_type 및 event_subtype 횟수를 나타냅니다.

참고

교착 상태와 같은 일부 이벤트는 집계되지 않습니다.이러한 이벤트에 대한 event_count는 1이며 start_time 및 end_time은 이벤트가 발생한 실제 UTC 날짜 및 시간과 동일합니다.

예를 들어, 사용자가 잘못된 로그인 이름으로 인해 2012년 2월 5일 오전 11시와 11시 5분(UTC) 사이에 데이터베이스 Database1에 대한 연결을 7회 실패한 경우 이 정보는 이 뷰의 단일 행에서 확인할 수 있습니다.

database_name

start_time

end_time

event_category

event_type

event_subtype

event_subtype_desc

severity

event_count

description

additional_data

Database1

2012-02-05 11:00:00

2012-02-05 11:05:00

connectivity

connection_failed

4

login_failed_for_user

2

7

Login failed for user.

NULL

간격 start_time 및 end_time

해당 간격의 start_time을 기준으로 정각 또는 그 이후에 발생하거나 end_time 이전에 발생하는 이벤트는 집계 간격에 포함됩니다. 예를 들어, 정확히 2012-10-30 19:25:00.0000000에 발생하는 이벤트는 아래에 표시된 초 간격에만 표시됩니다.

start_time                    end_time
2012-10-30 19:20:00.0000000   2012-10-30 19:25:00.0000000
2012-10-30 19:25:00.0000000   2012-10-30 19:30:00.0000000

데이터 업데이트

이 뷰의 데이터는 시간의 경과에 따라 축적됩니다. 일반적으로 데이터는 집계 간격 시작 1시간 이내로 축적되지만 뷰에 모든 데이터가 나타나는 데 최대 24시간이 걸릴 수 있습니다. 그 시간 동안 단일 행 내에서 정보가 주기적으로 업데이트될 수 있습니다.

데이터 보존 기간

이 뷰의 데이터는 논리적 서버의 데이터베이스 수 및 각 데이터베이스가 생성하는 고유 이벤트 수에 따라 최대 30일 또는 그 이하로 유지됩니다. 이 정보를 더 오래 유지하려면 데이터를 별도의 데이터베이스에 복사합니다. 뷰의 초기 복사본을 만든 후 데이터가 축적됨에 따라 이 행이 업데이트될 수 있습니다. 데이터 복사본을 최신으로 유지하려면 행을 정기적으로 테이블 검색하여 기존 행의 이벤트 수 증가를 확인하고 (시작 및 종료 시간을 사용하여 고유한 행을 식별하여) 새 행을 식별한 다음 데이터 복사본에 변경 내용을 업데이트합니다.

포함되지 않은 오류

이 뷰에는 일부 연결 및 오류 정보가 포함되지 않을 수 있습니다.

  • 이 뷰에는 발생 가능한 일부 SQL 데이터베이스 데이터베이스 오류(이 항목의 Event Types에 지정된 오류만 해당)가 포함되지 않습니다.

  • SQL 데이터베이스 데이터 센터 내에서 시스템 오류가 발생할 경우 논리적 서버에 대한 소량의 데이터가 이벤트 테이블에서 누락될 수 있습니다.

  • DoSGuard를 통해 IP 주소를 차단하는 경우 해당 IP 주소로부터의 연결 시도 이벤트는 수집할 수 없으며 이 뷰에 나타나지 않습니다.