Service Broker 큐 롤백 처리기에서 오류가 발생했습니다.

Microsoft.SQLServer.2012.An_error_occurred_in_the_Service_Broker_queue_rollback_handler_5_Rule (Rule)

Knowledge Base article:

요약

오류로 인해 Service Broker가 롤백 중에 큐를 사용하지 않도록 설정하지 못하면 SQL Server Service Broker가 MSSQLSERVER 이벤트 ID 8405를 발생시킵니다.

원인

Service Broker가 큐를 비활성화하지 못하게 만든 오류는 Windows 응용 프로그램 로그에 MSSQLSERVER 이벤트 ID 8405로 기록됩니다.

해결 방법

Windows 응용 프로그램 로그를 확인합니다. MSSQLSERVER 이벤트 ID 8405를 찾아서 Service Broker가 롤백 중에 큐를 비활성화하지 못하게 만든 오류를 확인합니다. Windows 응용 프로그램 로그에 지정된 오류가 이 오류의 근본 원인입니다. 근본 원인을 해결한 후 응용 프로그램을 다시 시작하십시오.

외부

SQL Server 2012 온라인 설명서의 "포이즌 메시지 처리"를 참조하십시오.

재정의 가능한 매개 변수

이름

설명

기본값

사용

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

우선 순위

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

1

심각도

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

2

Element properties:

TargetMicrosoft.SQLServer.2012.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID8405
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
Service Broker 큐 롤백 처리기에서 오류가 발생했습니다.
{0}
Event LogApplication
CommentMom2012ID='{AE10A975-0731-4479-A665-1CF81FE3985D}';MOM2012GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.Windows.EventProvider Microsoft.SQLServer.SQLDefaultAccount
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2012.An_error_occurred_in_the_Service_Broker_queue_rollback_handler_5_Rule" Target="SQL2012Core!Microsoft.SQLServer.2012.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2012ID='{AE10A975-0731-4479-A665-1CF81FE3985D}';MOM2012GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>8405</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2012.An_error_occurred_in_the_Service_Broker_queue_rollback_handler_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>