가용성 그룹에 대한 확장 이벤트 구성
적용 대상: SQL Server
SQL Server는 가용성 그룹 관련 확장 이벤트를 정의합니다. 세션에서 이 확장 이벤트를 모니터링하면 가용성 그룹 문제를 해결할 때 근본적인 원인 진단에 도움을 줄 수도 있습니다. 다음 쿼리를 사용하여 가용성 그룹 확장 이벤트를 볼 수 있습니다.
SELECT * FROM sys.dm_xe_objects WHERE name LIKE '%hadr%';
alwayson_health 세션
alwayson_health
확장 이벤트 세션은 가용성 그룹을 만들 때 자동으로 만들어지며 가용성 그룹 관련 이벤트의 하위 집합을 캡처합니다. 이 세션은 가용성 그룹 문제를 해결하는 동안 빨리 시작하도록 도와 주는 유용하고 편리한 도구로 미리 구성됩니다. 가용성 그룹 만들기 마법사가 해당 마법사에 구성된 모든 참여 가용성 복제본에 대해 세션을 자동으로 시작합니다.
중요
새 가용성 그룹 마법사를 사용하여 가용성 그룹을 만들지 않은 경우 alwayson_health
세션이 자동으로 시작되지 않을 수 있습니다. 세션이 시작되지 않으면 예기치 않은 문제가 발생할 때 이벤트 데이터를 캡처할 수 없습니다. 따라서 수동으로 세션을 시작하고 세션 속성을 구성하여 세션을 자동으로 시작하도록 구성해야 합니다.
alwayson_health
세션의 정의 보려면:
개체 탐색기에서 관리, 확장 이벤트, 세션을 차례로 확장합니다.
Alwayson_health를 마우스 오른쪽 단추로 클릭한 다음, 다른 이름으로 세션 스크립팅, CREATE To를 차례로 가리키고, 새 쿼리 편집기 창을 선택합니다.
디버깅용 확장 이벤트
Alwayson_health 세션에서 다루는 확장 이벤트 외에도 SQL Server는 가용성 그룹에 대한 다양한 디버그 이벤트 세트를 정의합니다. 세션에서 이러한 추가 확장 이벤트를 활용하려면 아래 절차를 따릅니다.
개체 탐색기에서 관리, 확장 이벤트, 세션을 차례로 확장합니다.
세션 을 마우스 오른쪽 단추로 클릭하고 새 세션을 선택합니다. 또는 Alwayson_health를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
페이지 선택 창에서 이벤트를 선택합니다.
이벤트 라이브러리의 범주 열에서 alwayson을 선택하고 모든 다른 범주를 선택 취소합니다.
채널 열에서 디버그를 선택합니다. 아직 선택되지 않은 모든 가용성 그룹 관련 이벤트가 이제 이벤트 라이브러리에 표시됩니다.
이벤트 라이브러리에서 이벤트를 강조 표시한 다음, > 단추를 선택하여 세션에 대한 이벤트를 선택합니다.
세션이 완료되면 확인을 선택하여 닫습니다. 세션이 선택한 이벤트를 캡처하도록 시작되는지 확인합니다.
availability_replica_state_change
가용성 복제본의 상태가 변경되었을 때 발생합니다. 가용성 그룹을 만들거나 가용성 복제본을 조인하면 이 이벤트를 트리거할 수 있습니다. 실패한 자동 장애 조치(failover)의 진단에 유용합니다. 장애 조치 단계를 추적하는 데에도 사용할 수 있습니다.
이벤트 정보
열 | 설명 |
---|---|
Name | availability_replica_state_change |
범주 | Always On |
채널 | 작동 |
이벤트 필드
이름 | Type_name | Description |
---|---|---|
availability_group_id | guid | 가용성 그룹의 ID입니다. |
availability_group_name | unicode_string | 가용성 그룹의 이름입니다. |
availability_replica_id | guid | 가용성 복제본의 ID입니다. |
previous_state | availability_replica_state | 변경 전의 복제본 역할입니다. 가능한 값은 다음과 같습니다. Primary_Normal Secondary_Normal Resolving_Pending_Failover Resolving_Normal Primary_Pending Not_Available |
current_state | availability_replica_state | 변경 후의 복제본 역할입니다. 가능한 값은 다음과 같습니다. Primary_Normal Secondary_Normal Resolving_Pending_Failover Resolving_Normal Primary_Pending Not_Available |
Alwayson_health 세션 정의
CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT availability_replica_state_change
ADD TARGET package0.event_file (
SET filename = N'alwayson_health.xel',
max_file_size = (5),
max_rollover_files = (4),
metadatafile = N'alwayson_health.xem'
)
WITH (
MAX_MEMORY = 4096 KB,
EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
MAX_DISPATCH_LATENCY = 30 SECONDS,
MAX_EVENT_SIZE = 0 KB,
MEMORY_PARTITION_MODE = NONE,
TRACK_CAUSALITY = OFF,
STARTUP_STATE = ON
)
GO
availability_group_lease_expired
클러스터 및 가용성 그룹에 연결 문제가 있고 임대가 만료된 경우 발생합니다. 이 이벤트는 가용성 그룹과 기본 WSFC 클러스터 간의 연결이 끊어졌음을 나타냅니다. 주 복제본에 연결 문제가 발생한 경우 이 이벤트가 자동 장애 조치(failover)를 실행하게 하거나 가용성 그룹을 오프라인 상태로 만들 수 있습니다.
이벤트 정보
열 | 설명 |
---|---|
Name | availability_group_lease_expired |
범주 | Always On |
채널 | 작동 |
이벤트 필드
이름 | Type_name | Description |
---|---|---|
availability_group_id | guid | 가용성 그룹의 ID입니다. |
availability_group_name | unicode_string | 가용성 그룹의 이름입니다. |
Alwayson_health 세션 정의
CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT availability_group_lease_expired
ADD TARGET package0.event_file (
SET filename = N'alwayson_health.xel',
max_file_size = (5),
max_rollover_files = (4),
metadatafile = N'alwayson_health.xem'
)
WITH (
MAX_MEMORY = 4096 KB,
EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
MAX_DISPATCH_LATENCY = 30 SECONDS,
MAX_EVENT_SIZE = 0 KB,
MEMORY_PARTITION_MODE = NONE,
TRACK_CAUSALITY = OFF,
STARTUP_STATE = ON
)
GO
availability_replica_automatic_failover_validation
자동 장애 조치(failover)에서 가용성 복제본의 준비 상태에 대한 유효성을 검사하여 주 복제본으로 확인할 때 발생하며 대상 가용성 복제본이 새로운 주 복제본이 될 준비가 되었는지 여부를 나타냅니다. 예를 들어 일부 데이터베이스가 동기화되지 않았거나 조인되지 않은 경우 장애 조치(failover) 유효성 검사에서 False를 반환합니다. 이 이벤트는 장애 조치(failover) 중에 실패 지점을 제공하기 위한 설계입니다. 자동 장애 조치(failover)는 무인 작업이므로 이 정보는 특히 자동 장애 조치의 경우 데이터베이스 관리자에게 관심이 있습니다. 데이터베이스 관리자는 이벤트를 검토하여 자동 장애 조치(failover)가 실패한 이유를 알 수 있습니다.
이벤트 정보
Name | 설명 |
---|---|
availability_replica_automatic _failover_validation | |
범주 | Always On |
채널 | Analytic |
이벤트 필드
이름 | Type_name | Description |
---|---|---|
availability_group_id | guid | 가용성 그룹의 ID입니다. |
availability_group_name | unicode_string | 가용성 그룹의 이름입니다. |
availability_replica_id | guid | 가용성 복제본의 ID입니다. |
forced_quorum | validation_result_type | 값이 TRUE이면 이 가용성 복제본에서 자동 장애 조치(Failover)가 무효화됩니다. TRUE FALSE |
joined_and_synchronized | validation_result_type | 값이 FALSE이면 이 가용성 복제본에서 자동 장애 조치(Failover)가 무효화됩니다. TRUE FALSE |
previous_primary_or_automatic_failover_target | validation_result_type | 값이 FALSE이면 이 가용성 복제본에서 자동 장애 조치(Failover)가 무효화됩니다. TRUE FALSE |
Alwayson_health 세션 정의
CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT availability_replica_automatic_failover_validation (
WHERE (
[forced_quorum] = (TRUE)
OR [joined_and_synchronized] = (FALSE)
OR [previous_primary_or_automatic_failover_target] = (TRUE)
)
) ADD TARGET package0.event_file (
SET filename = N'alwayson_health.xel',
max_file_size = (5),
max_rollover_files = (4),
metadatafile = N'alwayson_health.xem'
)
WITH (
MAX_MEMORY = 4096 KB,
EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
MAX_DISPATCH_LATENCY = 30 SECONDS,
MAX_EVENT_SIZE = 0 KB,
MEMORY_PARTITION_MODE = NONE,
TRACK_CAUSALITY = OFF,
STARTUP_STATE = ON
)
GO
error_reported(여러 오류 번호): 전송 또는 연결 문제의 경우
각 실패한 이벤트는 가용성 그룹이 의존하는 전송 또는 데이터베이스 미러링 엔드포인트에서 연결 문제가 발생했음을 나타냅니다.
열 | 설명 |
---|---|
Name | error_reported 필터링할 번호: 35201, 35202, 35206, 35204, 35207, 35217, 9642, 9666, 9691, 9692, 9693, 28034, 28036, 28080, 28091, 33309 |
범주 | 오류 |
채널 | Admin |
필터링할 오류 번호
오류 번호 | 설명 |
---|---|
35201 | 가용성 복제본 '%ls'에 연결 설정을 시도하는 동안 연결 시간 제한이 발생했습니다. |
35202 | ID [%ls]인 가용성 복제본 ‘%ls’에서 ID [%ls]인 ‘%ls’까지 가용성 그룹 ‘%ls’에 대한 연결이 설정되었습니다. 이 메시지는 정보 제공용이므로 추가적인 조치가 필요하지 않습니다. |
35206 | 가용성 복제본 '%ls'에 대해 이전에 설정된 연결에서 연결 시간 제한이 발생했습니다. |
35204 | 엔드포인트 종료로 인해 인스턴스 '%ls' 및 '%ls' 간의 연결이 사용하지 않도록 설정되었습니다. |
시간 제한 + 연결됨 | |
35207 | 오류 %d 심각도 %d 상태 %d 때문에 복제본 ID '%ls'에서 복제본 ID '%ls'까지 가용성 그룹 ID '%ls'에 대한 연결 시도가 실패했습니다. 심각도 %d 상태 %d. (이는 좋은 DBA 사용을 포함하지 않을 수 있습니다. 그러한 경우 나중에 확인하여 제거하세요.) |
35217 | (SQL Server 2019 CU15(15.0.4198.2)부터) 사용 가능한 작업자 스레드가 충분하지 않아 Always On 가용성 그룹의 스레드 풀에서 새 작업자 스레드를 시작할 수 없습니다. 이렇게 되면 Always On 가용성 그룹의 성능이 저하될 수 있습니다. “최대 작업자 스레드 수” 구성 옵션을 사용하여 허용 스레드 수를 늘리세요. |
9642 | Service Broker/데이터베이스 미러링 전송 연결 엔드포인트에서 오류가 발생했습니다. 오류: %i 상태: %i. (근거리 엔드포인트 역할: %S_MSG 원거리 엔드포인트 주소: ‘%.*hs’) 오류: %i 상태: %i. (근거리 엔드포인트 역할: %S_MSG, 원거리 엔드포인트 주소: ‘%.*hs’) |
9666 | %S_MSG 엔드포인트가 사용할 수 없거나 정지된 상태에 있습니다. |
9691 | %S_MSG 엔드포인트가 연결 수신 대기를 중지했습니다. |
9692 | %S_MSG 엔드포인트는 다른 프로세스에 사용 중이므로 포트 %d에서 수신 대기할 수 없습니다. |
9693 | %S_MSG 엔드포인트가 다음 오류로 인해 연결에 대해 수신 대기할 수 없습니다: '%.*ls'. |
28034 | 연결 핸드셰이크가 실패했습니다. 로그인 '%.*ls'에 엔드포인트에 대한 CONNECT 권한이 없습니다. 상태 %d. |
28036 | 연결 핸드셰이크가 실패했습니다. 이 엔드포인트에 사용된 인증서를 찾을 수 없습니다: %S_MSG. master 데이터베이스에서 DBCC CHECKDB를 사용하여 엔드포인트의 메타데이터 무결성을 확인합니다. 상태 %d. |
28080 | 연결 핸드셰이크가 실패했습니다. %S_MSG 엔드포인트가 구성되어 있지 않습니다. 상태 %d. |
28091 | 인증이 없는 %S_MSG에 대한 시작 엔드포인트는 지원되지 않습니다. |
33309 | 기본 %S_MSG 엔드포인트 구성이 아직 로드되지 않았으므로 클러스터 엔드포인트를 시작할 수 없습니다. |
Alwayson_health 세션 정의
CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT sqlserver.error_reported (
WHERE (
--Connectivity Error Messages
[error_number] = (35201)
OR [error_number] = (35202)
OR [error_number] = (35204)
OR [error_number] = (35206)
OR [error_number] = (35207)
OR [error_number] = (35217)
OR [error_number] = (9642)
--OR [error_number]=(9666)
OR [error_number] = (9691)
OR [error_number] = (9692)
OR [error_number] = (9693)
OR [error_number] = (28034)
OR [error_number] = (28036)
OR [error_number] = (28080)
OR [error_number] = (28091)
OR [error_number] = (33309)
)
) ADD TARGET package0.event_file (
SET filename = N'alwayson_health.xel',
max_file_size = (5),
max_rollover_files = (4),
metadatafile = N'alwayson_health.xem'
)
WITH (
MAX_MEMORY = 4096 KB,
EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
MAX_DISPATCH_LATENCY = 30 SECONDS,
MAX_EVENT_SIZE = 0 KB,
MEMORY_PARTITION_MODE = NONE,
TRACK_CAUSALITY = OFF,
STARTUP_STATE = ON
)
GO
data_movement_suspend_resume
데이터베이스 복제본의 데이터베이스 이동이 일시 중단되거나 다시 시작되었습니다.
이벤트 정보
열 | 설명 |
---|---|
Name | data_movement_suspend_resume |
범주 | Always On |
채널 | 작동 |
이벤트 필드
이름 | Type_name | Description |
---|---|---|
availability_group_id | guid | 가용성 그룹의 ID입니다. |
availability_group_name | unicode_string | 사용 가능한 경우 가용성 그룹의 이름입니다. |
availability_replica_id | guid | 가용성 복제본의 ID입니다. |
database_replica_id | guid | 가용성 데이터베이스의 ID입니다. |
database_replica_name | unicode_string | 가용성 데이터베이스의 이름입니다. |
database_id | uint32 | 가용성 데이터베이스의 ID입니다. |
suspend_status | suspend_status_type | 일시 중단 상태 값입니다. SUSPEND_NULL RESUMED SUSPENDED SUSPENDED_INVALID |
suspend_source | suspend_source_type | 일시 중단 또는 다시 시작 작업의 원본입니다. |
suspend_reason | unicode_string | 데이터베이스 복제본 관리자에서 캡처된 일시 중단 이유입니다. |
Alwayson_health 세션 정의
CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT data_movement_suspend_resume (
WHERE (
[suspend_status] = (SUSPENDED)
OR [suspend_status] = (SUSPENDED_INVALID)
OR [suspend_status] = (SUSPEND_NULL)
)
) ADD TARGET package0.event_file (
SET filename = N'alwayson_health.xel',
max_file_size = (5),
max_rollover_files = (4),
metadatafile = N'alwayson_health.xem'
)
WITH (
MAX_MEMORY = 4096 KB,
EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
MAX_DISPATCH_LATENCY = 30 SECONDS,
MAX_EVENT_SIZE = 0 KB,
MEMORY_PARTITION_MODE = NONE,
TRACK_CAUSALITY = OFF,
STARTUP_STATE = ON
)
GO
alwayson_ddl_executed
CREATE, ALTER 또는 DROP을 포함한 가용성 그룹 DDL(데이터 정의 언어) 문이 실행될 때 발생합니다. 이 이벤트의 주 목적은 가용성 복제본에 대한 사용자 작업이 있는 문제를 나타내거나 운영 작업의 시작점을 나타내는 것입니다. 이 이벤트가 발생한 다음, 수동 장애 조치(failover), 강제 장애 조치(failover), 일시 중단된 데이터 이동 또는 다시 시작된 데이터 이동 등과 같은 런타임 문제가 이어집니다.
이벤트 정보
열 | 설명 |
---|---|
Name | alwayson_ddl_execution |
범주 | Always On |
채널 | Analytic |
이벤트 필드
이름 | Type_name | Description |
---|---|---|
availability_group_id | GUID | 가용성 그룹의 ID입니다. |
availability_group_name | unicode_string | 가용성 그룹의 이름입니다. |
ddl_action | alwayson_ddl_action | DDL 작업의 유형(CREATE, ALTER 또는 DROP)을 나타냅니다. |
ddl_phase | ddl_opcode | DDL 작업 단계(BEGIN, COMMIT 또는 ROLLBACK)를 나타냅니다. |
인수를 제거합니다. | unicode_string | 실행된 명령문의 텍스트입니다. |
Alwayson_health 세션 정의
CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT alwayson_ddl_executed
ADD TARGET package0.event_file (
SET filename = N'alwayson_health.xel',
max_file_size = (5),
max_rollover_files = (4),
metadatafile = N'alwayson_health.xem'
)
WITH (
MAX_MEMORY = 4096 KB,
EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
MAX_DISPATCH_LATENCY = 30 SECONDS,
MAX_EVENT_SIZE = 0 KB,
MEMORY_PARTITION_MODE = NONE,
TRACK_CAUSALITY = OFF,
STARTUP_STATE = ON
)
GO
availability_replica_manager_state
가용성 복제본 관리자의 상태가 변경되었을 때 발생합니다. 이 이벤트는 가용성 복제본 관리자의 하트비트를 나타냅니다. 가용성 복제본 관리자가 정상 상태에 있지 않은 경우 SQL Server 인스턴스의 모든 가용성 복제본이 다운됩니다.
이벤트 정보
열 | 설명 |
---|---|
Name | availability_replica_manager_state_change |
범주 | Always On |
채널 | 작동 |
이벤트 필드
이름 | Type_name | 설명 |
---|---|---|
current_state | manager_state | 가용성 복제본 관리자의 현재 상태입니다. 온라인 오프라인 WaitingForClusterCommunication |
Alwayson_health 세션 정의
CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT availability_replica_manager_state (WHERE ([current_state] = (OFFLINE)))
ADD TARGET package0.event_file (
SET filename = N'alwayson_health.xel',
max_file_size = (5),
max_rollover_files = (4),
metadatafile = N'alwayson_health.xem'
)
WITH (
MAX_MEMORY = 4096 KB,
EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
MAX_DISPATCH_LATENCY = 30 SECONDS,
MAX_EVENT_SIZE = 0 KB,
MEMORY_PARTITION_MODE = NONE,
TRACK_CAUSALITY = OFF,
STARTUP_STATE = ON
)
GO
error_reported(1480): 데이터베이스 복제본 역할 변경
이 필터링된 error_reported 이벤트는 가용성 복제본 역할이 변경된 후 비동기로 발생합니다. 이 이벤트는 장애 조치(failover) 프로세스 중에 예상된 역할의 변경에 실패함을 나타냅니다.
이벤트 정보
열 | 설명 |
---|---|
Name | error_reported 오류 번호 1480: REPLICATION_TYPE_MSG 데이터베이스 "DATABASE_NAME"이 REASON_MSG로 인해 역할을 "OLD_ROLE"에서 "NEW_ROLE"로 변경함 |
범주 | 오류 |
채널 | Admin |
Alwayson_health 세션 정의
CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT sqlserver.error_reported (
WHERE (
--database replica role change message
OR [error_number] = (1480)
--database replica runtime error messages
OR [error_number] = (823)
OR [error_number] = (824)
OR [error_number] = (829)
)
) ADD TARGET package0.event_file (
SET filename = N'alwayson_health.xel',
max_file_size = (5),
max_rollover_files = (4),
metadatafile = N'alwayson_health.xem'
)
WITH (
MAX_MEMORY = 4096 KB,
EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
MAX_DISPATCH_LATENCY = 30 SECONDS,
MAX_EVENT_SIZE = 0 KB,
MEMORY_PARTITION_MODE = NONE,
TRACK_CAUSALITY = OFF,
STARTUP_STATE = ON
)
GO
sqlserver.sp_server_diagnostics_component_result
잠재적 오류를 탐지하기 위해 SQL Server에 대한 진단 데이터 및 상태 정보를 캡처합니다. 이 프로시저는 반복 모드로 실행되며 주기적으로 결과를 보냅니다. 이 확장 이벤트 세션은 SQL Server 2019 CU15(15.0.4198.2)부터 사용할 수 있습니다.
이벤트 정보
Name | 설명 |
---|---|
Name | sp_server_diagnostics_component_result |
범주 | 서버 |
채널 | 디버그 |
이벤트 필드
이름 | Type_name | Description |
---|---|---|
구성 요소 | UInt8 | 구성 요소 이름입니다. |
state | UInt8 | 구성 요소의 상태를 나타냅니다. |
데이터 | XML | 구성 요소에 대한 추가 정보가 포함된 XML 필드입니다. |
Alwayson_health 세션 정의
CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT sqlserver.sp_server_diagnostics_component_result (SET collect_data = (1) WHERE ([state] = (3)))
ADD TARGET package0.event_file (
SET filename = N'alwayson_health.xel',
max_file_size = (5),
max_rollover_files = (4),
metadatafile = N'alwayson_health.xem'
)
WITH (
MAX_MEMORY = 4096 KB,
EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
MAX_DISPATCH_LATENCY = 30 SECONDS,
MAX_EVENT_SIZE = 0 KB,
MEMORY_PARTITION_MODE = NONE,
TRACK_CAUSALITY = OFF,
STARTUP_STATE = ON
)
GO
ucs.ucs_connection_setup
주 복제본과 보조 복제본 간 연결 또는 네트워크 관련 로그를 덤프합니다. 이 확장 이벤트 세션은 SQL Server 2019 CU15(15.0.4198.2)부터 사용할 수 있습니다.
이벤트 정보
Name | 설명 |
---|---|
Name | ucs_connection_setup |
범주 | 전송 |
채널 | 디버그 |
이벤트 필드
이름 | Type_name | Description |
---|---|---|
setup_event | Int32 | 연결 설정 이벤트 |
obj_address | 포인터 | 연결 엔드포인트 주소 |
endpoint_type | Int32 | 엔드포인트 유형 |
stream_status | Int32 | 연결 스트림 상태 |
error_number | UInt32 | 연결 오류 코드 |
connection_id | GUID | 연결 ID |
error_message | UnicodeString | 연결 오류 메시지 |
address | UnicodeString | 연결 대상 주소 |
circuit_id | UnicodeString | 연결 회로 ID |
Alwayson_health 세션 정의
CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT ucs.ucs_connection_setup
ADD TARGET package0.event_file (
SET filename = N'alwayson_health.xel',
max_file_size = (5),
max_rollover_files = (4),
metadatafile = N'alwayson_health.xem'
)
WITH (
MAX_MEMORY = 4096 KB,
EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
MAX_DISPATCH_LATENCY = 30 SECONDS,
MAX_EVENT_SIZE = 0 KB,
MEMORY_PARTITION_MODE = NONE,
TRACK_CAUSALITY = OFF,
STARTUP_STATE = ON
)
GO
sqlserver.hadr_trace_message
일부 DBCC 명령 및 HADR 로그 정보의 출력을 확장 이벤트 세션(추적 플래그 3605와 유사)으로 리디렉션합니다. 이 확장 이벤트 세션은 SQL Server 2019 CU15(15.0.4198.2)부터 사용할 수 있습니다.
이벤트 정보
Name | 설명 |
---|---|
Name | hadr_trace_message |
범주 | Always On |
채널 | 디버그 |
이벤트 필드
이름 | Type_name | Description |
---|---|---|
hadr_message | unicode_string | 일부 DBCC 명령 및 HADR 로그 정보의 출력을 확장 이벤트 세션(추적 플래그 3605와 유사)으로 리디렉션합니다. |
Alwayson_health 세션 정의
CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT sqlserver.hadr_trace_message
ADD TARGET package0.event_file (
SET filename = N'alwayson_health.xel',
max_file_size = (5),
max_rollover_files = (4),
metadatafile = N'alwayson_health.xem'
)
WITH (
MAX_MEMORY = 4096 KB,
EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
MAX_DISPATCH_LATENCY = 30 SECONDS,
MAX_EVENT_SIZE = 0 KB,
MEMORY_PARTITION_MODE = NONE,
TRACK_CAUSALITY = OFF,
STARTUP_STATE = ON
)
GO