Transact-SQL을 사용하여 가용성 그룹 및 복제본 및 관련 데이터베이스를 모니터링하기 위해 Always On 가용성 그룹은 카탈로그 및 동적 관리 뷰 및 서버 속성 집합을 제공합니다. Transact-SQL SELECT 문을 사용하여 보기를 사용하여 가용성 그룹 및 해당 복제본 및 데이터베이스를 모니터링할 수 있습니다. 지정된 가용성 그룹에 대해 반환되는 정보는 주 복제본을 호스팅하는 SQL Server 인스턴스 또는 보조 복제본에 연결되어 있는지 여부에 따라 달라집니다.
팁 (조언)
이러한 뷰의 대부분은 ID 열을 사용하여 조인하여 단일 쿼리에서 여러 뷰의 정보를 반환할 수 있습니다.
권한
Always On 가용성 그룹 카탈로그 뷰에는 서버 인스턴스에 대한 VIEW ANY DEFINITION 권한이 필요합니다. Always On 가용성 그룹 동적 관리 뷰에는 서버에 대한 VIEW SERVER STATE 권한이 필요합니다.
서버 인스턴스에서 AlwaysOn 가용성 그룹 기능 모니터링
서버 인스턴스에서 Always On 가용성 그룹 기능을 모니터링하려면 다음 기본 제공 함수를 사용합니다.
SERVERPROPERTY 함수
Always On 가용성 그룹을 사용할 수 있는지 여부와 서버 인스턴스에서 시작되었는지 여부에 대한 서버 속성 정보를 반환합니다.
열 이름: IsHadrEnabled, HadrManagerStatus
WSFC 클러스터에서 가용성 그룹 모니터링
Always On 가용성 그룹에 대해 사용하도록 설정된 로컬 서버 인스턴스를 호스트하는 WSFC(Windows Server 장애 조치(failover) 클러스터링) 클러스터를 모니터링하려면 다음 보기를 사용합니다.
sys.dm_hadr_cluster
Always On 가용성 그룹을 사용하도록 설정된 SQL Server 인스턴스를 호스팅하는 WSFC(Windows Server 장애 조치(failover) 클러스터링) 노드에 WSFC 쿼럼이 있는 경우 sys.dm_hadr_cluster 클러스터 이름과 쿼럼에 대한 정보를 표시하는 행을 반환합니다. WSFC 노드에 쿼럼이 없으면 행이 반환되지 않습니다.
열 이름: 클러스터 이름, 합의 유형, 합의 유형 설명, 합의 상태, 합의 상태 설명
sys.dm_hadr_cluster_members
SQL Server의 로컬 AlwaysOn 지원 인스턴스를 호스트하는 WSFC 노드에 WSFC 쿼럼이 있는 경우 쿼럼 및 각 멤버의 상태를 구성하는 각 멤버에 대한 행을 반환합니다.
열 이름: member_name, member_type, member_type_desc, member_state, member_state_desc, number_of_quorum_votes
sys.dm_hadr_cluster_networks
가용성 그룹의 서브넷 구성에 참여하는 모든 멤버에 대한 행을 반환합니다. 이 동적 관리 뷰를 사용하여 각 가용성 복제본에 대해 구성된 네트워크 가상 IP의 유효성을 검사할 수 있습니다.
열 이름: member_name, network_subnet_ip, network_subnet_ipv4_mask, network_subnet_prefix_length, is_public, is_ipv4
기본 키: member_name + network_subnet_IP + network_subnet_prefix_length
sys.dm_hadr_instance_node_map
AlwaysOn 가용성 그룹에 조인된 가용성 복제본을 호스트하는 SQL Server의 모든 인스턴스에 대해 서버 인스턴스를 호스트하는 WSFC(Windows Server 장애 조치(failover) 클러스터링) 노드의 이름을 반환합니다. 이 동적 관리 뷰에는 다음과 같은 용도가 있습니다.
이 동적 관리 뷰는 동일한 WSFC 노드에 호스트되는 여러 가용성 복제본이 있는 가용성 그룹을 검색하는 데 유용합니다. 이는 가용성 그룹이 잘못 구성된 경우 FCI 장애 조치(failover) 후에 발생할 수 있는 지원되지 않는 구성입니다.
여러 SQL Server 인스턴스가 동일한 WSFC 노드에서 호스트되는 경우 리소스 DLL은 이 동적 관리 뷰를 사용하여 연결할 SQL Server 인스턴스를 결정합니다.
열 이름: ag_resource_id, 인스턴스_이름, 노드_이름
sys.dm_hadr_name_id_map
SQL Server의 현재 인스턴스가 세 가지 고유 ID인 가용성 그룹 ID, WSFC 리소스 ID 및 WSFC 그룹 ID에 조인한 AlwaysOn 가용성 그룹의 매핑을 보여 줍니다. 이 매핑의 목적은 WSFC 리소스/그룹의 이름이 바뀐 시나리오를 처리하는 것입니다.
열 이름: ag_name, ag_id, ag_resource_id, ag_group_id
비고
또한 이 항목의 가용성 복제본 모니터링 섹션에서 sys.dm_hadr_availability_replica_cluster_nodes 및 sys.dm_hadr_availability_replica_cluster_states을 참조하고, 가용성 데이터베이스 모니터링 섹션에서 sys.availability_databases_cluster 및 sys.dm_hadr_database_replica_cluster_states을 참조하세요.
WSFC 클러스터와 Always On 가용성 그룹에 대한 정보를 얻으려면 SQL Server에서 Windows Server 장애 조치(failover) 클러스터링(WSFC)과 장애 조치(failover) 클러스터링 및 AlwaysOn 가용성 그룹(SQL Server)을 참조하세요.
가용성 그룹 모니터링
서버 인스턴스가 가용성 복제본을 호스트하는 가용성 그룹을 모니터링하려면 다음 보기를 사용합니다.
sys.availability_groups
SQL Server의 로컬 인스턴스에서 가용성 복제본(replica)을 호스팅하는 각 가용성 그룹에 대해 하나의 행을 반환합니다. 각 행에는 가용성 그룹 메타데이터의 캐시된 복사본이 포함됩니다.
열 이름: group_id, name, resource_id, resource_group_id, failure_condition_level, health_check_timeout, automated_backup_preference, automated_backup_preference_desc
sys.availability_groups_cluster
WSFC 클러스터의 각 가용성 그룹에 대해 하나의 행을 반환합니다. 각 행에는 WSFC(Windows Server 장애 조치(Failover) 클러스터링) 클러스터의 가용성 그룹 메타데이터가 포함됩니다.
열 이름: group_id, name, resource_id, resource_group_id, failure_condition_level, health_check_timeout, automated_backup_preference, automated_backup_preference_desc
sys.dm_hadr_availability_group_states
SQL Server의 로컬 인스턴스에서 가용성 복제본(replica)을 가지고 있는 각 가용성 그룹에 대해 행을 반환합니다. 각 행에는 지정된 가용성 그룹의 상태를 정의하는 상태가 표시됩니다.
열 이름: group_id, primary_replica, primary_recovery_health, primary_recovery_health_desc, secondary_recovery_health, secondary_recovery_health_desc, synchronization_health, synchronization_health_desc
가용성 복제본의 모니터링
가용성 복제본을 모니터링하려면 다음 보기 및 시스템 함수를 사용합니다.
시스템.가용성_복제본
SQL Server의 로컬 인스턴스에서 가용성 복제본(replica)을 호스팅하는 각 가용성 그룹의 모든 가용성 복제본에 대해 행을 반환합니다.
열 이름: replica_id, group_id, replica_metadata_id, replica_server_name, owner_sid, endpoint_url, availability_mode, availability_mode_desc, failover_mode, failover_mode_desc, session_timeout, primary_role_allow_connections, primary_role_allow_connections_desc, secondary_role_allow_connections, secondary_role_allow_connections_desc, create_date, modify_date, backup_priority, read_only_routing_url
sys.availability_read_only_routing_lists (시스템 가용성 읽기 전용 라우팅 목록)
WSFC 장애 조치(failover) 클러스터의 AlwaysOn 가용성 그룹에 있는 각 가용성 복제본의 읽기 전용 라우팅 목록에 대한 행을 반환합니다.
열 이름: 복제본_id, routing_priority, 읽기 전용 복제본_id
sys.dm_hadr_availability_replica_cluster_nodes
WSFC(Windows Server 장애 조치(failover) 클러스터링) 클러스터에 있는 AlwaysOn 가용성 그룹의 모든 가용성 복제본(조인 상태에 관계 없이)에 대한 행을 반환합니다.
열 이름: group_name, 복제본(replica)_server_name, node_name
sys.dm_hadr_availability_복제본(replica)_cluster_states
WSFC(Windows Server 장애 조치 클러스터링) 클러스터의 모든 AlwaysOn 가용성 그룹(복제본 위치에 관계없이)의 각 복제본(조인 상태에 관계없이)에 대한 행을 반환합니다.
열 이름: 복제본_id, 복제본_server_name, group_id, join_state, join_state_desc
sys.dm_hadr_availability_replica_states
각 로컬 가용성 복제본(replica) 상태를 보여주는 행과 동일한 가용성 그룹의 각 원격 가용성 복제본(replica) 대한 행을 반환합니다.
열 이름: replica_id, group_id, is_local, role, role_desc, operational_state, operational_state_desc, connected_state, connected_state_desc, recovery_health, recovery_health_desc, synchronization_health, synchronization_health_desc, last_connect_error_number, last_connect_error_description, 마지막 연결 오류 타임스탬프
sys.fn_hadr_backup_is_preferred_replica
현재 복제본이 선호 백업 복제본인지 여부를 확인합니다.
비고
가용성 복제본의 성능 카운터(SQLServer:가용성 복제본 성능 개체)에 대한 자세한 내용은 SQL Server, 가용성 복제본을 참조해 주세요.
가용성 데이터베이스 모니터링
가용성 데이터베이스를 모니터링하려면 다음 보기를 사용합니다.
가용성 데이터베이스 클러스터
로컬 복사 데이터베이스가 아직 가용성 그룹에 조인되었는지 여부에 관계없이 클러스터의 모든 AlwaysOn 가용성 그룹의 일부인 SQL Server 인스턴스의 각 데이터베이스에 대해 하나의 행을 포함합니다.
비고
데이터베이스가 가용성 그룹에 추가되면 주 데이터베이스가 그룹에 자동으로 조인됩니다. 가용성 그룹에 조인하려면 보조 데이터베이스를 각 보조 복제본에서 준비해야 합니다.
열 이름: 그룹_ID, 그룹_데이터베이스_ID, 데이터베이스_이름
sys.databases
SQL Server 인스턴스의 데이터베이스당 하나의 행을 포함합니다. 데이터베이스가 가용성 복제본에 속하는 경우 해당 데이터베이스의 행에는 복제본의 GUID와 해당 가용성 그룹 내에서 데이터베이스의 고유 식별자가 표시됩니다.
Always On 가용성 그룹 열 이름: replica_id, group_database_id
sys.dm_hadr_auto_page_repair
서버 인스턴스에서 가용성 그룹에 대해 호스트되는 가용성 복제본의 가용성 데이터베이스에 대한 모든 자동 페이지 복구 시도에 대한 행을 반환합니다. 이 보기에는 데이터베이스당 최대 100개의 행이 있는 지정된 주 데이터베이스 또는 보조 데이터베이스에서의 최신 자동 페이지 복구 시도에 대한 행이 포함되어 있습니다. 데이터베이스가 최대값에 도달하면 다음 자동 페이지 복구 시도에 대한 행이 기존 항목 중 하나를 대체합니다.
열 이름: database_id, file_id, page_id, error_type, page_status, modification_time
sys.dm_hadr_database_replica_states
SQL Server의 로컬 인스턴스가 가용성 복제본을 호스팅하는 가용성 그룹에 참여하는 각 데이터베이스에 대한 행을 반환합니다.
열 이름: database_id, group_id, replica_id, group_database_id, is_local, synchronization_state, synchronization_state_desc, is_commit_participant, synchronization_health, synchronization_health_desc, database_state, database_state_desc, is_suspended, suspend_reason, suspend_reason_desc, recovery_lsn, truncation_lsn, last_sent_lsn, last_sent_time, last_received_lsn, last_received_time, last_hardened_lsn, last_hardened_time, last_redone_lsn, last_redone_time, log_send_queue_size, log_send_rate, redo_queue_size, redo_rate, filestream_send_rate, end_of_log_lsn, last_commit_lsn, last_commit_time, low_water_mark_for_ghosts
sys.dm_hadr_database_replica_cluster_states
WSFC(Windows Server 장애 조치(failover) 클러스터링) 클러스터링의 각 가용성 그룹에 있는 가용성 데이터베이스의 상태에 대한 인사이트를 제공하기 위한 정보가 포함된 행을 반환합니다. 이 동적 관리 보기는 장애 조치를 계획하거나 대응할 때, 또는 가용성 그룹에서 어느 보조 복제본이 주 데이터베이스의 로그 잘림을 지연시키고 있는지 파악할 때 유용합니다.
열 이름: 복제본_ID, 그룹_데이터베이스_ID, 데이터베이스_이름, 장애 조치 준비 상태, 보조 중단 대기 상태, 데이터베이스가 가입됨, 복구_LSN, 절단_LSN
비고
주 복제본 위치는 가용성 그룹에 대한 신뢰할 수 있는 원본입니다.
비고
가용성 데이터베이스에 대한 Always On 가용성 그룹 성능 카운터( SQLServer:Database 복제본 성능 개체)에 대한 자세한 내용은 SQL Server, 데이터베이스 복제본을 참조하세요. 또한 가용성 데이터베이스에서 트랜잭션 로그 작업을 모니터링하려면 SQLServer:Databases 성능 개체의 카운터인 로그 플러시 쓰기 시간(ms), Log Flushes/sec, Log Pool Cache Misses/sec, Log Pool Disk Reads/sec 및 Log Pool Requests/sec를 사용합니다. 자세한 내용은 SQL Server, Databases 개체를 참조하세요.
가용성 그룹 수신기 모니터링
WSFC 클러스터의 서브넷에서 가용성 그룹 수신기를 모니터링하려면 다음 보기를 사용합니다.
sys.availability_group_listener_ip_addresses
가용성 그룹 수신기에 대해 현재 온라인 상태인 모든 준수 가상 IP 주소에 대한 행을 반환합니다.
열 이름: listener_id, ip_address, ip_subnet_mask, is_dhcp, network_subnet_ip, network_subnet_prefix_length, network_subnet_ipv4_mask, 상태, state_desc
시스템 가용 그룹 리스너
지정된 가용성 그룹에 대해 0개의 행을 반환하여 가용성 그룹에 연결된 네트워크 이름이 없음을 나타내거나 WSFC 클러스터의 각 가용성 그룹 수신기 구성에 대해 하나의 행을 반환합니다.
열 이름: group_id, listener_id, dns_name, 포트, is_conformant, ip_configuration_string_from_cluster
sys.dm_tcp_listener_states
각 TCP 수신기에 대한 동적 상태 정보가 포함된 행을 반환합니다.
열 이름: listener_id, ip_address, is_ipv4, port, type, type_desc, state, state_desc, start_time
기본 키: listener_id
가용성 그룹 수신기에 대한 자세한 내용은 가용성 그룹 수신기, 클라이언트 연결 및 애플리케이션 장애 조치(failover)(SQL Server)를 참조하세요.
관련 작업
AlwaysOn 가용성 그룹 모니터링 작업:
개체 탐색기 세부 정보를 사용하여 가용성 그룹 모니터링(SQL Server Management Studio)
가용성 그룹 속성 보기(SQL Server)
가용성 복제본 속성 보기(SQL Server)
가용성 그룹 수신기 속성 보기(SQL Server)
AlwaysOn 가용성 그룹 모니터링 참조(Transact-SQL):
sys.dm_hadr_availability_replica_cluster_nodes(Transact-SQL)
sys.dm_hadr_availability_replica_cluster_states(Transact-SQL)
sys.dm_hadr_availability_replica_cluster_states(Transact-SQL)
AlwaysOn 성능 카운터:
AlwaysOn 가용성 그룹에 대한 정책 기반 관리
또한 참조하십시오
AlwaysOn 가용성 그룹(SQL Server)
AlwaysOn 가용성 그룹 개요(SQL Server)
가용성 그룹 모니터링(SQL Server)