데이터베이스 백업 상태

Microsoft.SQLServer.2014.Database.DBBackupStatusMonitor (UnitMonitor)

이 모니터는 Microsoft SQL Server가 보고한 데이터베이스 백업의 상태를 확인합니다. 참고: 이 모니터는 기본적으로 사용하지 않도록 설정되어 있습니다. 필요한 경우 사용하도록 설정하려면 재정의를 사용하십시오.

Knowledge Base article:

요약

이 모니터는 Microsoft SQL Server가 보고한 데이터베이스 백업의 존재 여부 및 기간을 확인합니다. 이 작업은 SQL 인스턴스의 master 데이터베이스에 대해 쿼리를 실행하고 데이터베이스 백업의 기간을 반환하여 수행됩니다.

원인

데이터베이스가 너무 오래 동안 백업되지 않았습니다.

해결 방법

문제를 해결하려면 데이터베이스 백업을 수행해야 합니다.

이후에 이 문제가 발생하지 않도록 하려면 응용 프로그램 및 비즈니스 요구 사항에 따라 자동화된 백업을 예약하는 것이 좋습니다.

외부

데이터베이스 백업 상태 모니터에 데이터베이스가 보조 복제본인지 아닌지를 추적할 논리가 없습니다.

관련된 데이터베이스 중 하나 이상의 백업이 필요한 고급 백업 논리가 AOG에 있으므로 모니터가 가양성 알림을 생성할 수 있습니다.

모니터는 기본적으로 사용하지 않도록 설정되어 있으며 사용자 환경의 모니터링 시나리오를 사용하도록 설정하려는 경우 데이터베이스 백업을 저장하는 데 사용되지 않는 모든 서버에 대해 모니터를 사용하지 않는 상태로 유지하는 것이 좋습니다.

외부 리소스

SQL Server 데이터베이스 백업을 위한 최선의 방법 권장 사항

재정의 가능한 매개 변수

이름

설명

기본값

알림 우선 순위

알림 우선 순위를 정의합니다.

보통

알림 심각도

알림 심각도를 정의합니다.

오류

백업 기간(일)

대상 백업 빈도(일)는 RPO(복구 지점 목표)에 따라 설정되어야 합니다

7

사용

워크플로를 사용하거나 사용하지 않도록 설정합니다.

아니요

알림 생성

워크플로가 알림을 생성하는지를 정의합니다.

간격(초)

워크플로를 실행하는 반복 시간 간격(초)입니다.

86400

동기화 시간

24시간 형식으로 지정된 동기화 시간입니다. 생략될 수 있습니다.

 

제한 시간(초)

워크플로를 닫고 실패로 표시하기 전에 워크플로를 실행할 수 있는 시간을 지정합니다.

300

Element properties:

TargetMicrosoft.SQLServer.2014.Database
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2014.DBBackupStatus
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2014: 데이터베이스 백업을 수행해야 합니다.
'{0}' 컴퓨터에서 SQL Server 인스턴스 '{1}'의 '{2}' 데이터베이스가 {3}일간 백업되지 않았습니다.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2014.Database.DBBackupStatusMonitor" Accessibility="Public" Enabled="false" Target="SQL2014Core!Microsoft.SQLServer.2014.Database" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.DBBackupStatus" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Database.DBBackupStatusMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$']$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Good" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="Bad" MonitorTypeStateID="Bad" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ConnectionString>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</DatabaseName>
<Threshold>7</Threshold>
<IntervalSeconds>86400</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>