배포자에 대한 복제 큐 판독기 에이전트 상태(모든 게시에 대해 집계됨)

Microsoft.SQLServer.2012.Replication.Monitor.QueueReaderAgentState (UnitMonitor)

이 모니터는 배포자에서 모든 게시에 대한 큐 판독기 에이전트 서비스의 상태를 확인합니다. 참고: 이 모니터는 기본적으로 사용하지 않도록 설정되어 있습니다. 필요한 경우 사용하도록 설정하려면 재정의를 사용하세요.

Knowledge Base article:

요약

복제 큐 판독기 에이전트는 Microsoft SQL Server 큐 또는 Microsoft Message Queue에 저장된 메시지를 읽은 다음 게시자에 적용하는 실행 파일입니다. 큐 판독기 에이전트는 지연 업데이트를 허용하는 스냅숏 및 트랜잭션 게시에서 사용됩니다.

원인

큐 판독기는 다음과 같은 원인으로 인해 실패할 수 있습니다.

해결 방법

이러한 문제는 다음을 통해 해결할 수 있습니다.:

추가

배포 데이터베이스에서 msqreader_agents 및 msqreader_history 테이블을 쿼리하여 에이전트 오류에 대한 자세한 정보를 가져올 수 있습니다. Msrepl_errors 테이블에도 에이전트 오류에 대한 로그 정보가 포함되어 있습니다.

외부

http://technet.microsoft.com/library/ms147378.aspx

재정의 가능한 매개 변수

이름

설명

기본값

알림 우선 순위

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

보통

알림 심각도

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

오류

사용

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

아니요

예상 작업 기간

작업 일정 준수를 확인하는 데 사용 중인 임계값입니다.

15

알림 생성

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

간격(초)

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

300

상태가 알려진 작업 표시

모니터 출력 및 알림 컨텍스트에 알 수 없는 상태의 작업을 포함합니다. 상태에 영향을 줍니다.

아니요

동기화 시간

동기화 시간

 

시간 제한(초)

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

300

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

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

15

Element properties:

TargetMicrosoft.SQLServer.2012.Replication.Distributor
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2012.Replication.MonitorType.ReplicationAgentState
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL2012 복제: 복제 큐 판독기 에이전트에 오류가 있습니다.
{0}
RunAsMicrosoft.SQLServer.Replication.Monitoring.RunAs.Monitor

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.Replication.Monitor.QueueReaderAgentState" Accessibility="Public" Enabled="false" Target="MS2RD!Microsoft.SQLServer.2012.Replication.Distributor" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.Replication.MonitorType.ReplicationAgentState" ConfirmDelivery="false" RunAs="MSRL!Microsoft.SQLServer.Replication.Monitoring.RunAs.Monitor">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.Replication.Monitor.QueueReaderAgentState.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Health" MonitorTypeStateID="Health" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
<OperationalState ID="Warning" MonitorTypeStateID="Warning" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<SqlTimeout>15</SqlTimeout>
<ConnectionString>$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericDistributor']/ConnectionString$</ConnectionString>
<XPathName>Queue reader$Target/Property[Type='MSRL!Microsoft.SQLServer.Replication.Library.GenericDistributor']/ConnectionString$</XPathName>
<ShowJobsWithUnknownState>false</ShowJobsWithUnknownState>
<EstimatedJobDuration>15</EstimatedJobDuration>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>