SQL Server용 관리 팩의 모니터링 구성

이 섹션에서는 SQL Server용 관리 팩의 모니터링 구성을 설명합니다.

SQL Server 에이전트 경고 규칙: 구성 세부 정보

SQL Server용 관리 팩은 다음 SQL Server 에이전트 경고 규칙을 제공합니다.

  • Windows의 MSSQL: 복구할 수 없는 로컬 이벤트 로그 오류로 인해 경고 엔진이 중지되었습니다.
  • Windows의 MSSQL: SQL 작업을 완료하지 못했습니다.
  • Windows의 MSSQL: 하위 시스템을 로드하지 못하여 작업 단계를 실행할 수 없습니다.
  • Windows의 MSSQL: 에이전트 상태가 확실하지 않습니다. 마지막 몇 분 동안 응답이 없습니다.
  • Windows의 MSSQL: SQL Server 에이전트를 시작할 수 없습니다.
  • Windows의 MSSQL: SQL Server 에이전트가 자동 종료를 시작했습니다.
  • Windows의 MSSQL: 작업 단계로 인해 하위 시스템에 예외가 발생했습니다.
  • Windows의 MSSQL: SQL Server 에이전트가 SQL Server에 연결할 수 없습니다.
  • Windows의 MSSQL: 로컬 이벤트 로그를 다시 열 수 없습니다.

기본적으로 이러한 규칙은 에이전트 모니터링 모드에서 사용하도록 설정되지만 Operations Manager는 원격 컴퓨터에서 이벤트 로그의 이벤트를 수집할 수 없으므로 혼합 모니터링 모드에서는 사용하지 않도록 설정됩니다. 이를 변경하려면 AllowProxying 옵션을 사용하도록 설정하여 각각의 해당 규칙을 재정의할 수 있습니다.

참고

AllowProxying 옵션을 사용하면 원격 코드가 실행될 수 있습니다. 컴퓨터의 보안이 보장되지 않는 한 이 옵션을 사용하도록 설정하지 마세요.

이러한 규칙은 에이전트 없는 모니터링 모드에서 작동하지 않으며 Sql on Linux에서는 사용할 수 없습니다.

Always On 경고 규칙

SQL Server용 관리 팩에는 Windows 애플리케이션 로그에 다음 이벤트가 표시되는 경우 경고를 표시하기 위한 두 가지 이벤트 규칙이 있습니다.

  • 이벤트 ID 1480, 데이터베이스 복제본 역할이 변경됨

  • 이벤트 ID 19406, 가용성 복제본 역할이 변경됨

기본적으로 SQL Server는 애플리케이션 로그에서 해당 이벤트를 발생시킬 수 없습니다. 이벤트 규칙을 사용하려면 다음 T-SQL 스크립트를 실행합니다.

sp_altermessage 1480, 'with_log', 'true'
sp_altermessage 19406, 'with_log', 'true'

가용성 데이터베이스 백업 모니터링

SQL Server 관리 팩은 Microsoft SQL Server 보고한 데이터베이스 및 로그 백업의 존재 및 기간을 검사 모니터를 제공합니다. 이 작업은 SQL 인스턴스의 마스터 데이터베이스에 대해 쿼리를 실행하고 백업의 기간을 반환하여 수행됩니다.

이러한 모니터는 가용성 그룹 보기의 가용성 그룹 데이터베이스 가용성 상태 롤업 아래에 있습니다. 모니터 목록은 다음과 같습니다.

  • 가용성 데이터베이스 백업 상태 모니터
  • 가용성 데이터베이스 로그 백업 상태 모니터

가용성 데이터베이스 백업 상태 모니터

이 모니터는 가용성 데이터베이스 상태를 대상으로 하며 일 단위 임계값에 따라 데이터베이스 백업 상태 확인합니다.

기본적으로 모니터는 가용성 그룹 백업 기본 설정을 추적하지 않습니다. 이 오버드라이브를 사용하는 경우 모니터는 가용성 그룹의 백업 기본 설정에 구성된 백업 위치를 추적하고 선택한 복제본(replica) 백업이 백업 빈도 설정을 준수하는지 여부를 확인합니다.

선택한 가용성 그룹의 백업 기본 설정은 다음과 같습니다.

  • 보조 사용

    백업이 보조 복제본에서 수행되도록 지정합니다. 주 복제본이 유일한 온라인 복제본인 경우는 예외로, 이 경우에는 백업이 주 복제본에서 수행되어야 합니다. 기본 옵션입니다.

  • 보조만

    백업이 주 복제본에서 수행되지 않도록 지정합니다. 기본 복제본(replica) 유일한 온라인 복제본(replica) 경우 백업이 수행되지 않아야 합니다.

  • 백업이 항상 주 복제본에서 수행되도록 지정합니다. 이 옵션은 보조 복제본(replica) 백업을 실행할 때 지원되지 않는 차등 백업을 만드는 것과 같은 백업 기능이 필요한 경우에 유용합니다.

  • 임의의 복제본

    백업을 수행할 복제본을 선택할 때 백업 작업에서 가용성 복제본의 역할을 무시하도록 지정합니다.

    참고

    백업 작업은 작동 상태 및 연결된 상태와 함께 각 가용성 복제본(replica) 백업 우선 순위와 같은 다른 요소를 평가할 수 있습니다.

다음은 백업 기본 설정이 가용성 그룹에 대한 기본 복제본(replica) 보조 복제본(replica)만 있는 경우 트랙 설정 옵션을 켜고 끄는 예제입니다.

백업 기본 설정 추적 매개 변수가 사용하도록 설정됨 - 두 데이터베이스 복제본 모두 가용성 데이터베이스 백업 상태 모니터가 위험 상태입니다.

기본 복제본(replica) 대해 백업 기본 설정을 추적할 때 가용성 데이터베이스 백업 상태 롤업의 스크린샷

백업 기본 설정 추적 매개 변수를 사용할 수 없습니다. 가용성 데이터베이스 백업 상태 모니터가 위험 상태인 복제본(replica) 주 데이터베이스에 대해서만 사용할 수 있습니다.

기본 복제본(replica) 대해 백업 기본 설정 추적이 사용하지 않도록 설정될 때 가용성 데이터베이스 백업 상태 롤업의 스크린샷

가용성 데이터베이스 로그 백업 상태 모니터

이 모니터는 가용성 데이터베이스 상태를 대상으로 하고 임계값(분)에 따라 데이터베이스 로그 백업 상태 확인합니다.

가용성 데이터베이스 롤업은 경고를 모니터링합니다.

가용성 데이터베이스 백업 상태 및 가용성 데이터베이스 로그 백업 상태 모니터는 롤업 정책 "모든 멤버의 최적 상태"로 구성되며 기본적으로 가용성 그룹에 데이터베이스의 전체 상태 표시하도록 해당 롤업에 대한 중요한 경고가 있습니다.

가용성 데이터베이스는 여러 복제본에서 호스트될 수 있는 하나의 데이터베이스의 엔터티로, "가용성 데이터베이스 백업 상태(롤업)"에만 경고가 있으므로 각 복제본(replica) 데이터베이스 상태 표시하지 않도록 전체 가용성 데이터베이스 상태 검사.

가용성 데이터베이스 백업 롤업 경고의 스크린샷

롤업이 중요해지고 모든 데이터베이스 복제본에 중요한 데이터베이스 백업 또는 로그 백업 상태 있는 경우에만 경고가 발생합니다. 하나의 복제본에 중요한 데이터베이스 백업 또는 로그 백업 상태 있는 경우 롤업 정책에 따라 롤업이 정상 상태로 유지됩니다.

정책 모니터링

SQL Server용 관리 팩은 각 개체의 PBM(정책 기반 관리) 정책 상태를 읽어서 대상 SQL Server 인스턴스에 있는 데이터베이스와 Always On 개체에 대한 상태 메트릭을 수집합니다.

관리 팩은 시스템 정책 외에도 다음 개체에 대한 사용자 지정 사용자 정책을 모니터링할 수 있습니다.

  • 데이터베이스
  • 가용성 그룹
  • 가용성 복제본
  • 데이터베이스 복제본

이러한 각 개체에 대해 관리 팩에는 다음과 같은 모니터가 있습니다.

  • 경고 상태를 사용하는 2단계 모니터. 이 모니터는 미리 정의된 경고 범주 중 하나를 정책 범주사용하는 사용자 지정 사용자 정책의 상태를 표시합니다.
  • 오류 상태를 사용하는 2단계 모니터. 이 모니터는 미리 정의된 오류 범주 중 하나를 정책 범주사용하는 사용자 지정 사용자 정책의 상태를 표시합니다.

공간 모니터링

SQL Server용 관리 팩은 다음 수준에서 메트릭 세트를 수집하여 공간 모니터링을 수행할 수 있습니다.

  • 데이터베이스
  • 파일 그룹
  • 파일
  • 로그 파일

유닛 모니터와 성능 메트릭을 사용하여 여러 데이터베이스 및 긴 시간 간격에 관한 정보를 볼 수 있습니다.

공간 모니터링은 다음 미디어 유형을 지원합니다.

  • 로컬 스토리지 및 탑재 지점
  • 클러스터 공유 볼륨
  • SMB 공유
  • Azure Blob

SQL Server용 관리 팩을 가져온 후에는 일부 공간 모니터링 워크플로가 기본적으로 사용하도록 설정되고 일부는 사용하지 않도록 설정됨을 확인할 수 있습니다. 환경의 부하를 줄이기 위해 공간 모니터링은 데이터베이스 수준에서만 사용되며 파일 그룹, 로그 파일, 메모리 내 OLTP 컨테이너, FILESTREAM 파일 그룹 수준에 대해서는 사용되지 않습니다. 환경이 추가 부하에 민감한 경우 거의 사용되지 않는 워크플로를 사용하도록 설정하는 것은 권장되지 않습니다.

참고

파일 그룹을 모니터링할 때는 파일 그룹의 모든 파일이 완전히 비정상인 경우에만 경고가 발생합니다. 파일 그룹에 정상인 파일이 하나 이상 있으면 경고가 등록되지 않습니다.

다음은 각 공간 모니터링 워크플로의 기본 상태를 설명하는 목록입니다.

  • Windows 및 Linux에 대해 검색 사용
    • 데이터베이스 엔진
    • 데이터베이스 엔진을 위한 데이터베이스
  • Windows 및 Linux에 대해 검색 사용 안 함
    • DB 파일 그룹
    • DB 파일
    • 트랜잭션 로그 파일
    • FILESTREAM 파일 그룹
    • 메모리 최적화 데이터 파일 그룹
    • 메모리 액세스에 최적화된 데이터 파일 그룹 컨테이너
  • Windows에 대한 모니터 사용
    • 데이터베이스를 대상으로 지정
      • ROWS 데이터 남아 있는 사용 가능한 공간
      • LOG 남아 있는 사용 가능한 공간
  • Windows에 대한 모니터 사용 안 함
    • 데이터베이스를 대상으로 지정
      • ROWS 데이터 공간 비율 변경
      • 메모리 내 OLTP 데이터 남아 있는 사용 가능한 공간
      • FILESTREAM 데이터 남아 있는 사용 가능한 공간
    • 파일 그룹을 대상으로 지정
      • DB 파일에 남아 있는 사용 가능 공간
    • 로그 파일을 대상으로 지정
      • DB 로그 파일 사용 가능한 공간
    • 메모리 내 OLTP 데이터 컨테이너를 대상으로 지정
      • 메모리 액세스에 최적화된 데이터 파일 그룹 컨테이너 사용 가능 공간
    • FILESTREAM 파일 그룹을 대상으로 지정
      • DB FILESTREAM 파일 그룹 사용 가능 공간
  • Linux에 대한 모니터 사용
    • 파일 그룹을 대상으로 지정
      • DB 파일에 남아 있는 사용 가능 공간
    • 로그 파일을 대상으로 지정
      • DB 로그 파일 사용 가능한 공간
    • 메모리 내 OLTP 데이터 컨테이너를 대상으로 지정
      • 메모리 액세스에 최적화된 데이터 파일 그룹 컨테이너 사용 가능 공간

다음 모니터는 상태 계산 모드 재정의를 지원합니다.

  • FILESTREAM 데이터 남아 있는 사용 가능한 공간
  • 메모리 내 OLTP 데이터 남아 있는 사용 가능한 공간
  • DB 로그 파일 사용 가능한 공간
  • ROWS 데이터 남아 있는 사용 가능한 공간

이 재정의를 사용하면 환경에서 사용 가능 공간을 모니터링하는 방법을 정의할 수 있습니다. 이제 위의 모니터를 사용하여 백분율 용어(%) 또는 용량 메트릭(MB)으로 표현된 '임계값' 매개 변수를 기반으로 성능 상태를 추적할 수 있습니다. 모니터링을 보다 효율적으로 수행하기 위해 백분율 용어(%)와 용량 메트릭(MB) 임계값을 동시에 사용할 수 있습니다. 이 경우 최악의 상태의 메트릭이 전체 상태를 보고하는 데 사용됩니다.

SQL on Linux에 대해 사용되지 않는 공간 모니터링 워크플로

다음 워크플로는 SQL Server on Linux 필요한 데이터를 제공하지 않으므로 기본적으로 사용하지 않도록 설정됩니다.

  • 규칙
    • Linux의 MSSQL: DB 메모리 액세스에 최적화된 데이터 파일 그룹 사용 가능한 총 공간(MB)
    • Linux의 MSSQL: DB 메모리 액세스에 최적화된 데이터 파일 그룹 사용 가능한 총 공간(%)
    • Linux의 MSSQL: DB FILESTREAM 파일 그룹 사용 가능한 총 공간(%)
    • Linux의 MSSQL: DB FILESTREAM 파일 그룹 사용 가능한 총 공간(MB)
    • Linux의 MSSQL: DB 파일 그룹 사용 가능한 총 공간(%)
    • Linux의 MSSQL: DB 파일 그룹 사용 가능한 총 공간(MB)
    • Linux의 MSSQL: DB 파일 그룹 사용 가능한 할당된 공간(%)
    • Linux의 MSSQL: DB 파일 그룹 사용 가능한 할당된 공간(MB)
    • Linux의 MSSQL: DB 사용 가능한 외부 공간(MB)
    • Linux의 MSSQL: DB 사용 가능한 할당된 공간(MB)
    • Linux의 MSSQL: DB 트랜잭션 로그 사용 가능한 총 공간(%)
    • Linux의 MSSQL: DB 사용 중인 할당된 공간(MB)
    • Linux의 MSSQL: DB 사용 가능한 총 공간(%)
    • Linux의 MSSQL: DB 사용 가능한 총 공간(MB)
    • Linux의 MSSQL: DB 할당된 공간(MB)
  • 모니터
    • DB에 남아 있는 사용 가능 공간
    • DB 공간 변경 비율
    • 트랜잭션 로그 사용 가능한 공간(%)
    • DB FILESTREAM 파일 그룹 사용 가능 공간

데이터베이스 상태 모니터링

데이터베이스 상태 모니터링은 Microsoft SQL Server가 보고한 데이터베이스 상태를 확인하기 위한 것입니다. 상태 검사는 데이터베이스의 상태를 반환하는 SQL Server 인스턴스의 마스터 데이터베이스에 대해 쿼리를 실행하여 수행됩니다. 이 모니터에서 경고가 수신되면 데이터베이스를 작동 상태로 되돌리기 위한 동작이 필요합니다.

온라인을 제외한 모든 데이터베이스 상태는 비정상적인 모니터 상태를 초래합니다. 다음 표에서는 데이터베이스 상태를 정의합니다.

시스템 상태 정의
ONLINE 데이터베이스에 액세스할 수 있습니다. 복구의 실행 취소 단계가 완료되지 않은 경우에도 주 파일 그룹은 온라인 상태입니다.
OFFLINE 데이터베이스를 사용할 수 없습니다. 명시적 사용자 동작으로 인해 데이터베이스가 오프라인 상태가 되어 추가 사용자 동작이 수행될 때까지 오프라인 상태로 있습니다. 예를 들어 파일을 새 디스크로 이동하기 위해 데이터베이스를 오프라인으로 설정할 수 있습니다. 이러한 경우 이동이 완료되면 데이터베이스가 온라인 상태로 돌아옵니다.
RESTORING 주 파일 그룹에서 하나 이상의 파일을 복원하고 있거나 하나 이상의 보조 파일이 오프라인 상태에서 복원되고 있습니다. 데이터베이스를 사용할 수 없습니다.
RECOVERING 데이터베이스가 복구되고 있습니다. 복구 중 과정은 일시적 상태입니다. 복구가 성공하면 데이터베이스는 자동으로 온라인 상태가 됩니다. 복구가 실패하면 데이터베이스는 주의 대상 상태가 됩니다. 데이터베이스를 사용할 수 없습니다.
RECOVERY PENDING 복구 중에 SQL Server에서 리소스 관련 오류가 발생했습니다. 데이터베이스가 손상되지는 않았지만 파일이 누락되었거나 시스템 리소스 제한으로 인해 데이터베이스를 시작할 수 없습니다. 데이터베이스를 사용할 수 없습니다. 오류를 해결하고 복구 프로세스를 완료하기 위한 사용자의 추가적인 동작이 필요합니다.
SUSPECT 주 파일 그룹이 주의 대상이거나 손상되었을 수 있습니다. SQL Server 시작 중에 데이터베이스를 복구할 수 없습니다. 데이터베이스를 사용할 수 없습니다. 문제를 해결하기 위한 사용자의 추가적인 동작이 필요합니다.
EMERGENCY 사용자가 데이터베이스를 변경하고 응급 상태로 설정했습니다. 데이터베이스가 단일 사용자 모드에 있고 복구 또는 복원되었을 수 있습니다. 데이터베이스가 READ_ONLY로 표시되고 로깅이 비활성화되며 sysadmin 고정 서버 역할의 멤버로 액세스가 제한됩니다. EMERGENCY는 주로 문제 해결을 위해 사용됩니다. 예를 들어 주의 대상으로 표시된 데이터베이스를 응급 상태로 설정할 수 있습니다. 이렇게 하면 시스템 관리자가 데이터베이스에 읽기 전용으로 액세스할 수 있습니다. sysadmin 고정 서버 역할의 멤버만 데이터베이스를 응급 상태로 설정할 수 있습니다.

자세한 내용은 Database States을 참조하세요.

또한 모니터는 Windows 기반 환경에서 "가용성 그룹이 오프 라인인 경우 비활성화" 재정의를 지원합니다. 이 재정의를 true로 설정하고 데이터베이스를 호스팅하는 가용성 그룹을 사용할 수 없는 경우 모니터는 이러한 데이터베이스의 상태에 대한 추적을 중지합니다. 이 재정의는 SQL Server 2012로 작업할 때 아키텍처 관련 사항으로 인해 발생할 수 있는 경고 폭주를 방지할 수 있기 때문에 유용합니다. 더 높은 버전의 SQL Server 경우 이 재정의가 필요하지 않습니다.

같은 드라이브의 여러 데이터베이스

관리 팩의 공간 모니터링은 많은 데이터베이스가 동일한 미디어를 공유하고 자동 증가 설정을 사용하도록 설정한 환경에서 시끄럽을 수 있습니다. 이러한 경우 하드 드라이브의 사용 가능한 공간이 임계값에 도달할 경우 각 데이터베이스에 대한 경고가 생성됩니다.

노이즈를 줄이려면 데이터 및 트랜잭션 로그 파일에 대한 공간 모니터를 끄고 운영 체제 관리 팩을 사용하여 하드 드라이브의 공간을 모니터링합니다.

DB 스토리지 대기 시간 모니터링

SQL Server용 관리 팩은 각 데이터베이스의 DB 디스크 읽기 대기 시간(밀리초)DB 디스크 쓰기 대기 시간(밀리초) 성능 메트릭을 수집합니다. 또한 관리 팩은 상당한 성능 저하가 발생하는 경우 경고를 등록하는 2개의 연결된 모니터를 정의합니다. 이 모니터 및 성능 규칙은 기본적으로 사용되지 않으며, 필요한 경우 특정 DB에만 사용하도록 설정합니다.

차단 세션

차단 세션 모니터는 상당한 기간 동안 차단된 세션에 대해 각 데이터베이스를 쿼리하도록 디자인되었습니다. 차단이 검색되고 지정된 임계값을 초과하면 상태가 변경되고 경고가 발생합니다.

재정의를 적용하여 차단 세션을 장기 실행으로 간주해야 하는지를 결정하는 데 사용되는 WaitMinutes 매개 변수를 변경할 수 있습니다. 이 매개 변수의 기본값은 1분입니다.

보안 개체 구성 상태 모니터

이 모니터는 구성된 실행 계정으로 필요한 각 SQL Server 보안 개체에 액세스할 수 있는지를 확인합니다.

SQL Server DB 엔진을 대상으로 하는 모니터에서 확인하는 보안 개체의 전체 목록은 다음과 같습니다.

  • 서버 수준 권한

    • VIEW SERVER STATE
    • VIEW ANY DEFINITION
    • VIEW ANY DATABASE
  • 동적 관리 보기의 SELECT 권한

    • master.sys.dm_hadr_availability_group_states
    • master.sys.dm_hadr_availability_replica_states
    • master.sys.dm_hadr_database_replica_cluster_states
    • master.sys.dm_os_performance_counters
    • master.sys.dm_tran_active_transactions
    • master.sys.dm_tran_session_transactions
    • master.sys.dm_exec_sessions
    • master.sys.dm_exec_requests
    • master.sys.dm_exec_connections
    • master.sys.dm_os_sys_info
    • master.sys.dm_os_ring_buffers
    • master.sys.dm_os_volume_stats
    • master.sys.dm_os_threads
    • master.sys.dm_server_services
    • master.sys.dm_db_xtp_checkpoint_files
    • master.sys.dm_db_xtp_table_memory_stats
    • master.sys.dm_db_xtp_hash_index_stats
    • master.sys.dm_resource_governor_resource_pools
  • 카탈로그 보기의 SELECT 권한

    • master.sys.dm_os_host_info
    • master.sys.availability_groups
    • master.sys.databases
    • master.sys.database_files
    • master.sys.tables
    • master.sys.filegroups
    • master.sys.syscolumns
    • master.sys.sysprocesses
    • master.sys.availability_replicas
    • master.sys.database_mirroring
    • master.sys.configurations
    • msdb.dbo.syspolicy_policies
    • msdb.dbo.syspolicy_conditions
    • msdb.dbo.syspolicy_policy_execution_history
    • msdb.dbo.syspolicy_configuration
    • msdb.dbo.syspolicy_system_health_state
    • msdb.dbo.syspolicy_object_sets
    • msdb.dbo.syspolicy_policy_categories
    • msdb.dbo.syspolicy_target_sets
    • msdb.dbo.syspolicy_target_set_levels
    • msdb.dbo.syspolicy_policy_execution_history_details
    • msdb.dbo.sysjobschedules
    • msdb.dbo.syscategories
    • msdb.dbo.sysjobs_view
    • msdb.dbo.sysjobactivity
    • msdb.dbo.sysjobhistory
    • msdb.dbo.syssessions
    • msdb.dbo.log_shipping_primary_databases
    • msdb.dbo.log_shipping_secondary_databases
    • msdb.dbo.backupset
  • 저장 프로시저의 EXECUTE 권한

    • master.sys.sp_enumerrorlogs
    • master.sys.xp_readerrorlog
    • master.sys.xp_instance_regread
    • msdb.dbo.sp_help_job
    • msdb.dbo.agent_datetime
    • msdb.dbo.SQLAGENT_SUSER_SNAME

SQL Server 데이터베이스를 대상으로 하는 모니터에서 확인하는 보안 개체의 전체 목록은 다음과 같습니다.

  • 카탈로그 보기의 SELECT 권한
    • sys.database_files
    • sys.tables
    • sys.filegroups
    • sys.syscolumns

참고

일부 모니터에는 이름에 이중 밑줄이 있는 속성이 있을 수 있습니다. 이러한 속성은 내부 관리 팩 용도로 사용됩니다. 을 사용하지 않도록 합니다.

WMI 성능 상태 모니터

이 모니터는 구성된 실행 계정에 대상 SQL Server에 있는 다음 네임스페이스에 대한 액세스 권한이 있는지 여부를 확인합니다.

  • ROOT\CIMV2
  • ROOT\Microsoft\SqlServer
  • ROOT\Microsoft\SqlServer\ComputerManagement11
  • ROOT\Microsoft\SqlServer\ComputerManagement12
  • ROOT\Microsoft\SqlServer\ComputerManagement13
  • ROOT\Microsoft\SqlServer\ComputerManagement14
  • ROOT\Microsoft\SqlServer\ComputerManagement15
  • ROOT\Microsoft\SqlServer\ComputerManagement16

위의 네임스페이스에 액세스할 수 없는 경우 모니터에서 경고를 생성합니다.

SQL Server 에이전트 작업 모니터링

SQL Server 관리 팩은 다음 워크플로를 사용하여 SQL Server 가용성 및 성능 모니터링 에이전트 작업을 수행할 수 있습니다.

  • 마지막 실행 상태 모니터

    이 모니터는 SQL 에이전트의 모든 작업을 확인하고 작업이 성공적으로 완료되지 않은 경우 모니터의 상태가 경고로 변경됩니다. 노이즈를 제어하기 위해 경고를 사용하지 않도록 설정하는 재정의가 있기 때문에 경고가 생성되지 않습니다. 이 수준의 모니터링을 원하는 경우 경고 생성 을 다시 사용하도록 설정으로 재정의해야 합니다.

    모니터에는 모니터의 상태가 경고로 변경되기 전에 SQL 에이전트 작업이 실패할 수 있는 횟수를 나타내는 실패 횟수 임계값 재정의가 있습니다. 재정의 실패로 취소된 상태 정의하면 취소된 작업의 마지막 실행 상태 실패로 추적할 수 있습니다.

  • 장기 실행 작업 모니터

    이 모니터는 장기 실행 SQL 에이전트 작업을 확인합니다. 작업이 구성된 임계값(경고 임계값 (분) 및 위험 임계값(분) 보다 오랫동안 실행된 경우 경고 또는 오류 경고가 표시됩니다.

    기본적으로 이 모니터는 SQL 에이전트가 중지될 때까지(즉, 지속적으로) 이러한 작업이 실행되기 때문에 SQL Server 에이전트 시작할 때 자동으로 시작 일정 유형이 있는 작업을 모니터링하지 않습니다. 일반적으로 SQL Server 복제 이러한 작업을 사용하지만 경우에 따라 SQL Server 에이전트 시작 시 자동으로 시작 일정 유형이 비교적 짧은 간격으로 실행 될 수 있습니다. 이러한 작업을 모니터링하려면 쉼표로 구분된 작업 이름 목록으로 포함된 연속 실행 작업 매개 변수를 재정의합니다. 목록의 작업 이름은 다음 식별자 클래스 중 하나의 요구 사항을 충족해야 합니다.

    • 주기적

      • 쉼표 기호(,) 및 큰따옴표 기호(")를 제외한 모든 문자를 포함할 수 있습니다.
      • 공백 문자로 시작하거나 끝내서는 안 됩니다.
    • 구분됨

      • 모든 문자를 포함할 수 있으며 큰따옴표로 구분되어야 합니다.
      • 큰따옴표는 두 배로 늘려 이스케이프해야 합니다.

    위의 클래스에 속하는 모든 이름은 구분 기호 문자를 제외하고 1~128자여야 합니다.

  • 작업 기간 모니터

    이 모니터는 SQL 에이전트의 모든 작업을 확인하고 지정된 임계값보다 더 오래 걸리는 작업이 있는지 확인합니다. 작업 기간이 구성된 임계값인 경고 임계값 (분) 및 위험 임계값(분) 보다 긴 경우 경고 또는 오류 경고가 표시됩니다. 노이즈를 제어하기 위해 경고를 사용하지 않도록 설정하는 재정의가 있기 때문에 경고가 생성되지 않습니다. 이 수준의 모니터링을 원하는 경우 경고 생성 을 다시 사용하도록 재정의하거나 작업 기간 경고 규칙을 사용해야 합니다.

  • 작업 기간 경고 규칙

    이 규칙은 SQL 에이전트 작업의 실행 시간이 지정된 임계값(분)을 초과했는지 확인하고 실행 시간이 임계값을 초과한 경우 경고를 throw합니다.

  • 작업 기간 성능 규칙

    이 규칙은 SQL 에이전트 작업의 기간을 분 단위로 수집합니다.

SQL Server 연결 암호화 인증서 모니터링

SQL Server 대한 관리 팩은 SQL Server 연결 암호화 인증서 상태 수행할 수 있는 모니터를 제공합니다.

SQL Server에서는 TLS를 사용하여 클라이언트 애플리케이션과 SQL Server 인스턴스 간에 네트워크를 통해 전송되는 데이터를 암호화할 수 있습니다. TLS는 인증서를 사용하여 암호화를 구현합니다. TLS 암호화를 사용하면 네트워크에서 SQL Server 인스턴스와 애플리케이션 간에 전송되는 데이터에 관한 보안이 강화됩니다. 자세한 내용은 인증서 개요인증서 프로시저 문서를 참조하세요.

이 모니터는 Windows 및 Linux의 SQL Server DB 엔진 대상으로 지정하고 인증서 유효성 검사 기간(일)과 인증서 요구 사항을 확인합니다.

중요

인증서가 컴퓨터 저장소에 있는 경우 SQL Server 시작되지 않지만 위 목록의 일부 요구 사항만 충족하고 SQL Server 구성 관리자 또는 레지스트리 항목을 통해 수동으로 구성된 경우(Windows에서만 SQL Server) 모든 요구 사항을 충족하는 다른 인증서를 선택하거나 요구 사항을 충족하는 인증서를 프로비전할 수 있을 때까지 SQL Server 사용할 인증서를 제거합니다. 자세한 내용은 암호화에 대한 SQL Server 구성 문서를 참조하세요.

다음 표에서는 모니터 재정의 매개 변수를 정의하고 SQL Server 대한 인증서 유효성 검사 요구 사항을 미세 조정합니다.

재정의 이름 Description
검사 추가 호스트 이름 기본적으로 모니터는 인증서에 대상 DB 엔진의 보안 주체 이름이 포함되어 있는지 확인합니다. 이 재정의를 사용하면 쉼표로 구분된 추가 호스트 이름 목록(예: Always On 수신기 DNS 이름, 호스팅 머신의 DNS 별칭, FCI 가상 이름 등)으로 확인할 수 있습니다.
인증서를 구성해야 합니다(Windows에서만 SQL Server 경우). true이면 DB 엔진에 명시적으로 구성된 인증서가 없는 경우 모니터의 상태가 위험으로 변경됩니다.
'신뢰할 수 없는 루트' 검사 무시 true이면 모니터는 인증서가 신뢰할 수 있는 루트 인증 기관에 배치되지 않음을 무시합니다. 이러한 인증서는 운영 체제에서 신뢰할 수 있으며 PKI(공개 키 인프라) 계층 구조 및 디지털 인증서를 신뢰할 수 있는 참조로 애플리케이션에서 사용할 수 있습니다.
'IgnoreCertificateAuthorityRevocationUnknown' 플래그 설정 인증서 안정성 확인을 결정할 때 인증 기관 해지 상태를 알 수 없는 경우 이를 무시합니다.
'IgnoreCtlNotTimeValid' 플래그 설정 인증서 안정성 확인을 결정할 때 CTL(인증서 신뢰 목록) 만료 등의 이유로 CTL이 유효하지 않은 경우 이를 무시합니다.
'IgnoreCtlSignerRevocationUnknown' 플래그 설정 인증서 안정성 확인을 결정할 때 CTL(인증서 신뢰 목록) 서명자 해지 상태를 알 수 없는 경우 이를 무시합니다.
'IgnoreEndRevocationUnknown' 플래그 설정 인증서 안정성 확인을 결정할 때 최종 인증서(사용자 인증서) 해지 상태를 알 수 없는 경우 이를 무시합니다.
'IgnoreInvalidBasicConstraints' 플래그 설정 인증서 안정성 확인을 결정할 때 기본 제약 조건이 유효하지 않은 경우 이를 무시합니다.
'IgnoreInvalidPolicy' 플래그 설정 인증서 안정성 확인을 결정할 때 인증서에 잘못된 정책이 있는 경우 이를 무시합니다.
'IgnoreNotTimeNested' 플래그 설정 인증서의 안정성을 확인할 때 CA(인증 기관) 인증서와 발급된 인증서의 유효 기간이 서로 일치하지 않는 경우 이를 무시합니다. 예를 들어, CA 인증서는 1월 1일부터 12월 1일까지 유효하며 발급된 인증서는 1월 2일부터 12월 2일까지 유효하므로 유효 기간이 중첩되지 않음을 의미합니다.
'IgnoreNotTimeValid' 플래그 설정 인증서 유효성을 확인할 때 만료되었거나 더는 적용되지 않아서 유효하지 않는 인증서가 체인에 있는 경우 이를 무시합니다.
'IgnoreRootRevocationUnknown' 플래그 설정 인증서 안정성 확인을 결정할 때 루트 해지 상태를 알 수 없는 경우 이를 무시합니다.
'IgnoreWrongUsage' 플래그 설정 인증서 안정성 확인을 결정할 때 인증서가 현재 사용하도록 발급되지 않은 경우 이를 무시합니다.
'호스트 이름' 검사 건너뛰기 true이면 모니터는 인증서에 특정 호스트 이름이 포함되어 있는지 확인하는 것을 건너뜁니다.
'키 사용 서버 인증' 검사 건너뜁니다. true이면 모니터는 키의 사용 확장 '서버 인증'이 있는 서버의 인증 인증서 요구 사항을 건너뜁니다. 일부 연결 드라이버 구현은 이 확장의 존재를 검사 않을 수 있으며 확장 없이도 인증서가 유효한 것으로 간주할 수 있습니다.
'해지' 검사 건너뜁니다. true이면 모니터는 해지와 관련된 모든 문제를 무시합니다.

TDE(투명한 데이터 암호화) 인증서 백업 상태 모니터링

SQL Server 대한 관리 팩은 데이터베이스 암호화 키를 암호화하는 데 사용된 인증서가 백업되지 않았음을 검사 수 있는 모니터를 제공합니다.

TDE(투명한 데이터 암호화)는 데이터베이스 암호화 키라는 대칭 키를 사용하여 전체 데이터베이스의 스토리지를 암호화합니다. 또한 master 데이터베이스의 데이터베이스 마스터 키로 보호되는 인증서를 사용하여 데이터베이스 암호화 키를 보호할 수도 있습니다. TDE는 데이터 및 로그 파일에 대한 실시간 I/O 암호화 및 암호 해독을 수행합니다. 암호화는 DEK(데이터베이스 암호화 키)를 사용합니다. 데이터베이스 부팅 레코드는 복구 중에 가용성에 대한 키를 저장합니다. DEK는 대칭 키이며 서버의 master 데이터베이스가 저장하는 인증서 또는 EKM 모듈이 보호하는 비대칭 키로 보호됩니다. TDE는 데이터 및 로그 파일인 미사용 데이터를 보호합니다. 이를 통해 다양한 업계에서 확립된 법, 규정 및 지침을 준수할 수 있습니다. 이 기능으로 소프트웨어 개발자는 AES 및 3DES 암호화 알고리즘을 사용하여 기존의 애플리케이션을 변경하지 않고 데이터를 암호화할 수 있습니다. 자세한 내용은 SQL Server 보안 모범 사례TDE(투명한 데이터 암호화) 문서를 참조하세요.

참고

시스템 데이터베이스에는 TDE를 사용할 수 없습니다. master, 모델 또는 msdb를 암호화하는 데 사용할 수 없습니다. tempdb 는 사용자 데이터베이스가 TDE를 사용하도록 설정한 경우 자동으로 암호화되지만 직접 암호화할 수는 없습니다.

장기 실행 쿼리 모니터링

SQL Server 대한 관리 팩은 실행 중인 SQL 쿼리의 실행 시간이 지정된 임계값(초)을 초과하는 경우 경고를 발생시킬 수 있는 규칙을 제공합니다.

규칙은 다음 재정의를 사용하여 경고 사용자 지정 필터링을 지원합니다.

  • 애플리케이션 제외 목록 - 애플리케이션 이름으로 쿼리 제외
  • 데이터베이스 제외 목록 - 데이터베이스 이름으로 쿼리 제외
  • 쿼리 제외 목록 - 사용자 지정 쿼리 텍스트를 사용하여 쿼리 제외

이러한 재정의는 와일드카드를 지원하며 애플리케이션 이름, 데이터베이스 이름 또는 쉼표로 구분된 값으로 쿼리 텍스트 자체를 사용하여 장기 실행 쿼리를 제외하는 데 사용할 수 있습니다. 예를 들어 와 같은 *test 조건을 사용하여 로 끝나는 _test쿼리를 제외하거나 Test* 로 시작하는 Test쿼리를 제외하거나 *test* 쿼리 텍스트의 일부분에서 항목이 있는 test 쿼리를 제외하는 조건을 사용합니다.

요소에 와일드카드, 큰따옴표(") 또는 백슬래시(\)가 아닌 별표(*)가 포함되어야 하는 경우 요소는 백슬래시 \로 이스케이프되어야 합니다. 예를 들어 과 같은 Query\*3 조건을 사용하여 쿼리 텍스트에 있는 Query*3 쿼리를 제외하거나, 와 같은 \\path\\to\\ 조건을 사용하여 쿼리 텍스트에 있는 \path\to\ 쿼리를 제외하거나 "GO, WITH" , 쿼리 텍스트 내에 쉼표가 있는 항목이 있는 "GO, WITH" 쿼리를 제외하는 조건을 사용합니다. 제외 목록을 사용한 재정의를 동시에 사용할 수 있습니다.

다음 표에서는 식에 사용할 수 있는 와일드카드 패턴을 정의합니다.

문자 Description 예제
? 임의의 문자 하나에 대응합니다. 문자 문자열의 아무 곳에나 물음표(?)를 사용할 수 있습니다. 큐? 는 Query, Quer1, Quer_, Quer?, Quer*를 찾지만 Query1 또는 쿼리는 검색하지 않습니다.
* 임의의 수의 문자와 일치합니다. 문자 문자열의 아무 곳에나 별표(*)를 사용할 수 있습니다. DB* 는 DB, DB1, DB2, DB_prod 찾지만 1DB 또는 데이터베이스는 검색하지 않습니다. *DB 는 1DB, _DB, test-DB를 찾지만 1DB_prod 또는 D_Base 검색하지 않습니다. *DB* 는 cloudDB_1, DBtest, 3DB를 찾지만 prod_D_B 또는 데이터베이스를 찾지 않습니다.
" 큰따옴표로 된 임의의 문자와 일치합니다. 문자 문자열의 아무 곳에나 큰따옴표(" ")를 사용할 수 있습니다. 문자열에 쉼표가 포함된 경우 문자열을 따옴표로 묶어야 합니다. "Instance, Database" 는 인스턴스, 내부에 쉼표가 있는 데이터베이스 문자열을 찾지만 인스턴스 문자열은 별도로 찾지 않으며 데이터베이스 문자열은 별도로 찾습니다. "선행 및 후행 공백이 있는 쿼리" 는 큰따옴표에 포함된 모든 공백이 있는 항목을 찾습니다.

다음 표에서는 식에서 사용할 수 있는 이스케이프 패턴을 정의합니다.

문자 Description 예제
\* 와일드카드가 아닙니다. 문자열의 아무 곳이나 별표(*)를 이스케이프합니다. dbname\*은 dbname*을 찾지만 dbname1, dbname_prod, dbnames는 검색하지 않습니다.
\" 와일드카드가 아닙니다. 문자열의 아무 곳이나 큰따옴표(")를 이스케이프합니다. query \"example\" 는 쿼리 "example"를 찾지만 query\, query example 또는 "example"는 검색하지 않습니다.
\\ 와일드카드가 아닙니다. 문자 문자열의 아무 곳이나 백슬래시(\)를 이스케이프합니다. C:\\Path\\to\\는 C:\Path\to\를 찾지만 C:\, Path\\to는 검색하지 않습니다.

참고

이 규칙은 보안상의 이유로 쿼리를 실행하는 텍스트를 제공하지 않습니다.