MSSQL 2016: Service Broker キュー ロールバック ハンドラーでエラーが発生しました

Microsoft.SQLServer.2016.An_error_occurred_in_the_Service_Broker_queue_rollback_handler_5_Rule (Rule)

SQL Server Service Broker は、ロールバック中にエラーが発生して Service Broker でキューを無効にできない場合に、MSSQLSERVER イベント ID 8405 を生成します。

Knowledge Base article:

概要

SQL Server Service Broker は、ロールバック中にエラーが発生して Service Broker でキューを無効にできない場合に、MSSQLSERVER イベント ID 8405 を生成します。

原因

Service Broker でキューを無効にできない原因となったエラーは、Windows アプリケーション ログに MSSQLSERVER イベント ID 8405 として登録されます。

解決方法

Windows アプリケーション ログを確認します。MSSQLSERVER イベント ID 8405 を見つけ、ロールバック中に Service Broker でキューを無効にできない原因となったエラーを特定します。Windows アプリケーション ログで指定されたエラーが、このエラーの根本原因です。根本原因を解決してから、アプリケーションを再起動してください。

外部資料

SQL Server 2016 オンライン ブックの「有害なメッセージの処理」を参照してください。

上書き可能なパラメーター

名前

説明

既定値

有効

ワークフローを有効または無効にします。

はい

優先度

アラートの優先順位を定義します。

1

重要度

アラートの重大度を定義します。

2

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID8405
Event Source$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL 2016: Service Broker キュー ロールバック ハンドラーでエラーが発生しました
{0}
Event LogApplication
CommentMom2016ID='{AE10A975-0731-4479-A665-1CF81FE3985D}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SQLServer.2016.An_error_occurred_in_the_Service_Broker_queue_rollback_handler_5_Rule" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2016ID='{AE10A975-0731-4479-A665-1CF81FE3985D}';MOM2016GroupID={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">
<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="SQL2016Core!Microsoft.SQLServer.2016.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.2016.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>