MSSQL on Linux: SQL Server 에이전트를 시작할 수 없습니다.

Microsoft.SQLServer.Linux.CollectionRule.Agent.SQLServerAgent_could_not_be_started_1_5_Rule (Rule)

프로세스나 사용자가 SQL Server 에이전트 서비스를 시작하려고 했으나 서비스가 시작되지 않았습니다.

Knowledge Base article:

요약

프로세스나 사용자가 SQL Server 에이전트 서비스를 시작하려고 했으나 서비스가 시작되지 않았습니다.

원인

서비스를 다음과 같은 여러 가지 이유로 시작하지 못할 수 있습니다(다음으로 제한되지 않음). 계정이 올바르게 인증되지 않았거나 성능 문제이거나 SQL Server가 실행되고 있지 않습니다.

해결 방법

Linux 응용 프로그램 로그, SQL Server 로그 및 SQL Server 에이전트 로그를 검토하여 근본 원인을 파악합니다. 근본 원인을 해결합니다.

재정의 가능한 매개 변수

이름

설명

기본값

사용

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

간격(초)

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

300

우선 순위

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

1

Severity

Defines Alert Severity.

1

Synchronization Time

Synchronization Time

 

Timeout (seconds)

Specifies the time the workflow is allowed to run before being closed and marked as failed.

200

Timeout for database connection (seconds)

The workflow will fail and register an event, if it cannot access the database during the specified period.

15

Element properties:

TargetMicrosoft.SQLServer.Linux.Agent
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL on Linux: SQL Server 에이전트를 시작할 수 없습니다.
{0}
CommentMom2017ID='{3A30EC51-135C-4430-B0EA-9594428F3CDA}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.SQLServer.Linux.DataSource.EventCollectionFilteredAgent Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.Linux.CollectionRule.Agent.SQLServerAgent_could_not_be_started_1_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.Agent" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{3A30EC51-135C-4430-B0EA-9594428F3CDA}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Linux.DataSource.EventCollectionFilteredAgent">
<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>
<InstanceVersion>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>103</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Linux.CollectionRule.Agent.SQLServerAgent_could_not_be_started_1_5_Rule.AlertMessage"]$</AlertMessageId>
<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>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>