원본 로그 전달

Microsoft.SQLServer.Windows.Database.LogShippingSourceMonitor (UnitMonitor)

이 모니터는 로그 전달 원본의 로그가 로그 전달 구성의 일부분으로 정의된 임계값 내에서 백업되지 않은 경우를 검색합니다.
모든 로그 전달은 모든 버전의 SQL Server Express에서 지원되지 않습니다.

Knowledge Base article:

요약

이 모니터는 로그 전달 원본의 로그가 로그 전달 구성의 일부분으로 정의된 임계값 내에서 백업되지 않은 경우를 검색합니다. 이 조건이 발생하면 모니터가 위험 상태로 변경됩니다. 로그 백업이 재개되고 정의된 임계값 내에 있으면 모니터가 정상 상태로 돌아옵니다. 기본적으로 이 모니터는 오류 상태에 있을 때 경고를 생성합니다.

원인

로그 전달이 백업 임계값을 초과하여 동기화되지 않았습니다. 백업 임계값은 로그 전달 백업 작업 간에 허용되는 시간(분)이며 이 시간이 지나면 경고가 발생합니다. 이 메시지가 반드시 로그 전달 문제를 나타내는 것은 아닙니다. 대신 이 메시지는 다음 문제 중 하나를 나타낼 수 있습니다.

해결 방법

이 문제를 해결하려면:

참고: 두 서버 인스턴스의 서로 다른 표준 시간대로 인해 문제가 발생하지 않아야 합니다.

외부

SQL Server 온라인 설명서의 로그 전달 항목:

http://go.microsoft.com/fwlink/?LinkId=799310

재정의 가능한 매개 변수

이름

설명

기본값

경고 우선 순위

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

보통

경고 심각도

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

오류

사용

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

알림 생성

워크플로에서 알림을 생성하는지 여부를 정의합니다.

간격(초)

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

300

동기화 시간

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

 

시간 제한(초)

여기서 지정한 시간 동안 워크플로가 실행된 후 워크플로가 닫히고 실패로 표시됩니다.

200

데이터베이스 연결 시간 제한(초)

워크플로는 지정된 기간 동안 데이터베이스에 액세스할 수 없으면 실패하며 이벤트를 등록합니다.

15

Element properties:

TargetMicrosoft.SQLServer.Windows.Database
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.Windows.MonitorType.Database.LogShipping
RemotableTrue
AccessibilityPublic
Alert Message
Windows의 MSSQL: 로그 전달 원본
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.Windows.Database.LogShippingSourceMonitor" Accessibility="Public" Enabled="true" Target="SqlDiscW!Microsoft.SQLServer.Windows.Database" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Windows.MonitorType.Database.LogShipping" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Windows.Database.LogShippingSourceMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='Message']$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="SourceNotBackedUp" MonitorTypeStateID="Bad" HealthState="Error"/>
<OperationalState ID="SourceBackUpComplete" MonitorTypeStateID="Good" HealthState="Success"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<DatabaseName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</DatabaseName>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<LogShippingType>0</LogShippingType>
</Configuration>
</UnitMonitor>