배포자에 대한 SQL Server 에이전트 상태

Microsoft.SQLServer.Replication.Windows.Monitor.Distributor.SQLServerAgentState (UnitMonitor)

이 모니터는 SQL Server 에이전트가 배포자에서 실행 중인지 확인합니다.

Knowledge Base article:

요약

SQL Server 에이전트 서비스는 SQL Server 설치 중에 자동으로 설치됩니다. 이 Windows 서비스는 복제에서 데이터 이동을 처리하는 복제 SQL Server 에이전트 작업을 시작 및 중지하는 데 사용됩니다.

원인

SQL Server 에이전트 서비스가 수동으로 중지되거나 에이전트 오류로 인해 중지되었을 수 있습니다. Windows 응용 프로그램 이벤트 로그에서 예기치 않게 중지된 에이전트 서비스에 대한 가능한 원인을 조사하세요.

에이전트 "시작 모드" 속성이 "자동" 대신 "수동"으로 설정된 경우 서버 재부팅 시 SQL Server 에이전트 서비스가 자동으로 다시 시작되지 않습니다.

해결 방법

Windows 서비스, SQL Server 구성 관리자 또는 SQL Server Management Studio에서 SQL Server 에이전트 서비스를 시작합니다. 에이전트 "시작 모드"가 "수동"으로 설정된 경우 "자동"으로 변경하는 것이 좋습니다.

SQL Server 에이전트 서비스 시작, 중지 또는 일시 중지 http://technet.microsoft.com/library/ms190695.aspx

추가

다음 링크를 사용하여 SQL Server 에이전트 오류 로그를 확인합니다. http://msdn.microsoft.com/library/ms175488.aspx

이 항목에서는 Microsoft SQL Server 에이전트가 Windows의 SQL Server에서 예기치 않게 중지된 경우 자동으로 다시 시작되도록 구성하는 방법을 설명합니다. https://msdn.microsoft.com/library/ms178130.aspx

재정의 가능한 매개 변수

이름

설명

기본값

경고 우선 순위

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

보통

경고 심각도

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

오류

사용

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

알림 생성

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

간격(초)

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

600

동기화 시간

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

 

시간 제한(초)

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

300

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

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

15

Element properties:

TargetMicrosoft.SQLServer.Replication.Windows.Distributor
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.Replication.Windows.MonitorType.SqlServiceStatus
RemotableTrue
AccessibilityPublic
Alert Message
Windows의 MSSQL 복제: 배포자: SQL Server 에이전트 Windows 서비스가 중지되었습니다.
{0} 컴퓨터의 SQL Server 인스턴스 {1}에서 배포자에 대한 SQL Server 에이전트 Windows 서비스가 중지되었습니다.
RunAsMicrosoft.SQLServer.Core.RunAs.Monitoring

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.Replication.Windows.Monitor.Distributor.SQLServerAgentState" Accessibility="Public" Enabled="true" Target="SQLReplWD!Microsoft.SQLServer.Replication.Windows.Distributor" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Replication.Windows.MonitorType.SqlServiceStatus" ConfirmDelivery="false" RunAs="SqlCoreLib!Microsoft.SQLServer.Core.RunAs.Monitoring">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Replication.Windows.Monitor.Distributor.SQLServerAgentState.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>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Running" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="RunningManualOrUnableToDetectStatus" HealthState="Warning"/>
<OperationalState ID="Error" MonitorTypeStateID="NotRunning" HealthState="Error"/>
</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>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<MonitoringType>$Target/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>600</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>