SQL 인사이트를 사용하여 SQL 배포 모니터링(프리뷰)
적용 대상: Azure SQL Database Azure SQL Managed Instance Azure VM의 SQL Server
중요
SQL 인사이트(프리뷰)는 2024년 12월 31일에 사용이 중지됩니다. 이 날짜까지 Azure SQL용 데이터베이스 Watcher(프리뷰) 또는 다른 데이터베이스 모니터링 솔루션으로 전환하는 것이 좋습니다.
데이터베이스 Watcher를 낮은 데이터 수집 대기 시간, 자산 수준 모니터링, 쿼리 수준 세부 정보를 포함한 포괄적인 모니터링 데이터, 수집된 모니터링 데이터에 대한 고급 분석 지원을 제공하는 관리형 모니터링 솔루션으로 사용하는 것이 좋습니다. 현재 데이터베이스 Watcher는 Azure SQL Database 및 Azure SQL Managed Instance를 지원합니다.
2024년 12월 31일 이후에는 SQL 인사이트(프리뷰)가 지원되지 않으며 Azure Portal에서 이용할 수 없게 됩니다. SQL 인사이트(프리뷰)가 수집한 기존 모니터링 데이터는 모두 Log Analytics 작업 영역에 보관됩니다.
SQL 인사이트(프리뷰)는 Azure SQL 제품군의 제품에 대한 모니터링 솔루션입니다. SQL 인사이트는 동적 관리 뷰를 사용하여 상태를 모니터링하고 문제를 진단하고 성능을 조정하는 데 필요한 데이터를 공개합니다.
SQL 인사이트는 원격으로 모든 모니터링을 수행합니다. 전용 가상 머신의 모니터링 에이전트는 SQL 리소스에 연결되어 원격으로 데이터를 수집합니다. 수집된 데이터는 Azure Monitor 로그에 저장되어 쉽게 집계, 필터링 및 추세 분석이 가능합니다. SQL 인사이트 통합 문서 템플릿에서 수집된 데이터를 보거나 로그 쿼리를 사용하여 데이터를 직접 확인할 수 있습니다.
다음 다이어그램은 데이터베이스 엔진 및 Azure 리소스 로그의 정보가 취한 단계와 표시 방법을 자세히 설명합니다. Azure SQL 로깅에 대한 자세한 다이어그램은 모니터링 및 진단 원격 분석을 참조하세요.
가격 책정
SQL 인사이트(프리뷰)에 대한 직접 비용은 없습니다. 모든 비용은 데이터를 수집하는 가상 머신, 데이터를 저장하는 Log Analytics 작업 영역 및 데이터에 구성된 경고 규칙에 의해 발생합니다.
가상 머신
가상 머신의 경우 가상 머신 가격 책정 페이지에 게시된 가격 책정에 따라 요금이 청구됩니다. 필요한 가상 머신의 수는 모니터링하려는 연결 문자열의 수에 따라 다릅니다. 연결 문자열 100개마다 Standard_B2s 크기의 가상 머신 하나를 할당하는 것이 좋습니다. 자세한 내용은 Azure 가상 머신 요구 사항을 참조하세요.
Log Analytics 작업 영역
Log Analytics 작업 영역의 경우 Azure Monitor 가격 책정 페이지에 게시된 가격 책정에 따라 요금이 청구됩니다. SQL 인사이트가 사용하는 Log Analytics 작업 영역에는 데이터 수집, 데이터 보존 및(선택 사항) 데이터 내보내기에 대한 비용이 발생합니다.
정확한 요금은 수집, 보존 및 내보낸 데이터의 양에 따라 달라집니다. 이 데이터의 양은 데이터베이스 작업과 모니터링 프로필에 정의된 컬렉션 설정에 따라 달라집니다.
경고 규칙
Azure Monitor 경고 규칙의 경우 Azure Monitor 가격 책정 페이지에 게시된 가격 책정에 따라 요금이 청구됩니다. SQL 인사이트(프리뷰)로 경고를 만들도록 선택하면 생성된 모든 경고 규칙 및 전송된 알림에 대해 요금이 청구됩니다.
지원되는 버전
SQL Insights(프리뷰)는 다음 환경을 지원합니다.
- Azure SQL Database
- Azure SQL Managed Instance
- 다음에서 실행되는 SQL Server 2012 이상 버전:
- Azure 가상 머신의 SQL Server(SQL IaaS 에이전트 확장에 등록된 가상 머신에 설치된 SQL Server)
- Azure VM(SQL IaaS 에이전트 확장에 등록된 가상 머신에 설치된 SQL Server)
SQL 인사이트(프리뷰)는 다음을 지원하지 않거나 제한적으로 지원합니다.
- 비Azure 인스턴스: 온-프레미스 및 가상 머신을 포함하여 Azure 외부 환경에서 실행되는 SQL Server는 지원되지 않습니다.
- Azure SQL Database 탄력적 풀: 탄력적 풀 또는 탄력적 풀 내의 데이터베이스에 대한 메트릭을 수집할 수 없습니다.
- Azure SQL Database 낮은 서비스 계층: 기본, S0, S1 및 S2 서비스 계층의 데이터베이스에 대해서는 메트릭을 수집할 수 없습니다.
- Azure SQL Database 서버리스 계층: 서버리스 컴퓨팅 계층을 통해 데이터베이스에 대한 메트릭을 수집할 수 있습니다. 그러나 메트릭을 수집하는 프로세스는 자동 일시 중지 지연 타이머를 다시 설정하여 데이터베이스가 자동 일시 중지 상태를 시작하지 않도록 합니다.
- 보조 복제본: 데이터베이스당 단일 보조 복제본에 대해서만 메트릭을 수집할 수 있습니다. 데이터베이스에 둘 이상의 보조 복제본이 있는 경우 하나만 모니터링할 수 있습니다.
- Microsoft Entra ID(이전의 Azure Active Directory)를 사용한 인증: 모니터링에 대해 지원되는 유일한 인증 방법은 SQL 인증입니다. Azure 가상 머신의 SQL Server에서는 사용자 지정 도메인 컨트롤러에서 Active Directory를 통한 인증이 지원되지 않습니다.
국가별 가용성
SQL Insights(프리뷰)는 Azure Government 및 국가 클라우드를 제외하고 Azure Monitor가 사용 가능한 모든 Azure 지역에서 사용할 수 있습니다.
SQL 인사이트 열기
SQL 인사이트(프리뷰)를 열려면 다음을 수행합니다.
- Azure Portal에서 Azure Monitor 메뉴로 이동합니다.
- 인사이트 섹션에서 SQL(프리뷰)을 선택합니다.
- 모니터링 중인 SQL 리소스에 대한 환경을 로드할 타일을 선택합니다.
자세한 내용은 SQL 인사이트(프리뷰) 사용 및 SQL 인사이트(프리뷰) 문제 해결을 참조하세요.
참고 사항
온-프레미스 SQL Server 인스턴스는 현재 SQL Insights(프리뷰)에서 지원되지 않습니다(Azure Portal의 레이블은 무시할 수 있음).
수집된 데이터
SQL 인사이트는 원격으로 모든 모니터링을 수행합니다. SQL Server를 실행하는 가상 머신에는 에이전트가 설치되어 있지 않습니다.
SQL 인사이트는 전용 모니터링 가상 머신을 사용하여 SQL 리소스에서 데이터를 원격으로 수집합니다. 각 모니터링 가상 머신에는 Azure Monitor 에이전트와 WLI(워크로드 인사이트) 확장이 설치되어 있습니다.
WLI 확장에는 오픈 소스 Telegraf 에이전트가 포함됩니다. SQL 인사이트는 데이터 수집 규칙을 사용하여 Telegraf의 SQL Server 플러그 인에 대한 데이터 컬렉션 설정을 지정합니다.
Azure SQL Database, Azure SQL Managed Instance 및 SQL Server에서 다양한 데이터 집합을 사용할 수 있습니다. 다음 표에서는 사용 가능한 데이터를 설명합니다. 모니터링 프로필을 만들 때 수집할 데이터 세트와 수집 빈도를 사용자 지정할 수 있습니다.
테이블에는 다음 열이 있습니다.
- 식별 이름: 모니터링 프로필을 만들 때 Azure Portal에 표시되는 쿼리 이름입니다.
- 구성 이름: 모니터링 프로필을 편집할 때 Azure Portal에 표시되는 쿼리 이름입니다.
- 네임스페이스: Log Analytics 작업 영역에 있는 쿼리의 이름입니다. 이 식별자는 InsighstMetrics 테이블의
Tags
열에 있는Namespace
속성에 표시됩니다. - DMV: 데이터 세트를 생성하는 데 사용되는 동적 관리 뷰입니다.
- 기본적으로 사용: 기본적으로 데이터가 수집되는지 여부입니다.
- 기본 수집 빈도: 기본적으로 데이터가 수집되는 빈도입니다.
Azure SQL Database의 데이터
식별 이름 | 구성 이름 | 네임스페이스 | DMV | 기본적으로 사용하도록 설정됨 | 기본 수집 빈도 |
---|---|---|---|---|---|
DB 대기 통계 | AzureSQLDBWaitStats |
sqlserver_azuredb_waitstats |
sys.dm_db_wait_stats |
아니요 | 해당 없음 |
DBO 대기 통계 | AzureSQLDBOsWaitstats |
sqlserver_waitstats |
sys.dm_os_wait_stats |
예 | 60초 |
메모리 클럭 | AzureSQLDBMemoryClerks |
sqlserver_memory_clerks |
sys.dm_os_memory_clerks |
예 | 60초 |
데이터베이스 I/O | AzureSQLDBDatabaseIO |
sqlserver_database_io |
sys.dm_io_virtual_file_stats sys.database_files tempdb.sys.database_files |
예 | 60초 |
서버 속성 | AzureSQLDBServerProperties |
sqlserver_server_properties |
sys.dm_os_job_object sys.database_files sys.databases sys.database_service_objectives |
예 | 60초 |
성능 카운터 | AzureSQLDBPerformanceCounters |
sqlserver_performance |
sys.dm_os_performance_counters sys.databases |
예 | 60초 |
리소스 통계 | AzureSQLDBResourceStats |
sqlserver_azure_db_resource_stats |
sys.dm_db_resource_stats |
예 | 60초 |
리소스 거버넌스 | AzureSQLDBResourceGovernance |
sqlserver_db_resource_governance |
sys.dm_user_db_resource_governance |
예 | 60초 |
요청 | AzureSQLDBRequests |
sqlserver_requests |
sys.dm_exec_sessions sys.dm_exec_requests sys.dm_exec_sql_text |
아니요 | 해당 없음 |
스케줄러 | AzureSQLDBSchedulers |
sqlserver_schedulers |
sys.dm_os_schedulers |
아니요 | 해당 없음 |
Azure SQL Managed Instance용 데이터
식별 이름 | 구성 이름 | 네임스페이스 | DMV | 기본적으로 사용하도록 설정됨 | 기본 수집 빈도 |
---|---|---|---|---|---|
대기 통계 | AzureSQLMIOsWaitstats |
sqlserver_waitstats |
sys.dm_os_wait_stats |
예 | 60초 |
메모리 클럭 | AzureSQLMIMemoryClerks |
sqlserver_memory_clerks |
sys.dm_os_memory_clerks |
예 | 60초 |
데이터베이스 I/O | AzureSQLMIDatabaseIO |
sqlserver_database_io |
sys.dm_io_virtual_file_stats sys.master_files |
예 | 60초 |
서버 속성 | AzureSQLMIServerProperties |
sqlserver_server_properties |
sys.server_resource_stats |
예 | 60초 |
성능 카운터 | AzureSQLMIPerformanceCounters |
sqlserver_performance |
sys.dm_os_performance_counters sys.databases |
예 | 60초 |
리소스 통계 | AzureSQLMIResourceStats |
sqlserver_azure_db_resource_stats |
sys.server_resource_stats |
예 | 60초 |
리소스 거버넌스 | AzureSQLMIResourceGovernance |
sqlserver_instance_resource_governance |
sys.dm_instance_resource_governance |
예 | 60초 |
요청 | AzureSQLMIRequests |
sqlserver_requests |
sys.dm_exec_sessions sys.dm_exec_requests sys.dm_exec_sql_text |
아니요 | 해당 없음 |
스케줄러 | AzureSQLMISchedulers |
sqlserver_schedulers |
sys.dm_os_schedulers |
아니요 | 해당 없음 |
SQL Server용 데이터
식별 이름 | 구성 이름 | 네임스페이스 | DMV | 기본적으로 사용하도록 설정됨 | 기본 수집 빈도 |
---|---|---|---|---|---|
대기 통계 | SQLServerWaitStatsCategorized |
sqlserver_waitstats |
sys.dm_os_wait_stats |
예 | 60초 |
메모리 클럭 | SQLServerMemoryClerks |
sqlserver_memory_clerks |
sys.dm_os_memory_clerks |
예 | 60초 |
데이터베이스 I/O | SQLServerDatabaseIO |
sqlserver_database_io |
sys.dm_io_virtual_file_stats sys.master_files |
예 | 60초 |
서버 속성 | SQLServerProperties |
sqlserver_server_properties |
sys.dm_os_sys_info |
예 | 60초 |
성능 카운터 | SQLServerPerformanceCounters |
sqlserver_performance |
sys.dm_os_performance_counters |
예 | 60초 |
볼륨 공간 | SQLServerVolumeSpace |
sqlserver_volume_space |
sys.master_files |
예 | 60초 |
SQL Server CPU | SQLServerCpu |
sqlserver_cpu |
sys.dm_os_ring_buffers |
예 | 60초 |
스케줄러 | SQLServerSchedulers |
sqlserver_schedulers |
sys.dm_os_schedulers |
아니요 | 해당 없음 |
요청 | SQLServerRequests |
sqlserver_requests |
sys.dm_exec_sessions sys.dm_exec_requests sys.dm_exec_sql_text |
아니요 | 해당 없음 |
가용성 복제본 상태 | SQLServerAvailabilityReplicaStates |
sqlserver_hadr_replica_states |
sys.dm_hadr_availability_replica_states sys.availability_replicas sys.availability_groups sys.dm_hadr_availability_group_states |
아니요 | 60초 |
가용성 데이터베이스 복제본 | SQLServerDatabaseReplicaStates |
sqlserver_hadr_dbreplica_states |
sys.dm_hadr_database_replica_states sys.availability_replicas |
아니요 | 60초 |