MSSQL on Linux: SQL Server Service Broker/データベース ミラーリング トランスポートの接続エンドポイントでエラーが発生しました

Microsoft.SQLServer.Linux.EventRule.DBEngine.An_error_occurred_in_a_SQL_Server_Service_Broker_Database_Mirroring_transport_connection_endpoint_1_5_Rule (Rule)

SQL Server は、SQL Server インスタンス外との通信に Service Broker およびデータベース ミラーリングのエンドポイントを使用します。

Knowledge Base article:

概要

SQL Server は、SQL Server インスタンス外との通信に Service Broker およびデータベース ミラーリングのエンドポイントを使用します。

エンドポイントとは、ネットワークを介して通信する SQL Server の機能を提供する SQL Server オブジェクトです。このようなエンドポイントにより、SQL Server は、ネットワークを介して SQL Server Service Broker およびデータベース ミラーリングのメッセージを送受信します。

原因

このメッセージは、接続エンドポイントでエラーが発生したときに出されます。エラーは、Linux アプリケーション ログに MSSQLSERVER イベント ID 9642 として記録されます。Linux ログ レコードには、こちら側のエンドポイントのロール、相手側のエンドポイントのアドレス、初期化エラー、メッセージ交換の状態が含められます。エラーの原因は、相手側のエンドポイントで発生した初期化エラーです。エラーは MSSQLSERVER イベント ID 9642 として記録されます。

この状態は、SQL Server オンライン ブックの「sys.conversation_endpoints (Transact-SQL)」で定義されています。

解決方法

アプリケーション ログでこのエラーを見つけて、その原因となった問題を解決します。

外部資料

SQL Server オンライン ブックの「ルーティングおよびメッセージ配信のトラブルシューティング」を参照してください。

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

名前

説明

既定値

有効

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

はい

間隔 (秒)

ワークフローを実行する定期的な実行間隔 (秒)。

300

優先度

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

1

重要度

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

2

同期時刻

同期時刻

 

タイムアウト (秒)

ワークフローが終了して失敗とマークされるまでの、ワークフローの許容実行時間を指定します。

200

データベース接続のタイムアウト (秒)

指定された期間中にデータベースにアクセスできない場合、ワークフローは失敗し、イベントが登録されます。

15

Element properties:

TargetMicrosoft.SQLServer.Linux.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL on Linux: SQL Server Service Broker/データベース ミラーリング トランスポートの接続エンドポイントでエラーが発生しました
{0}
CommentMom2017ID='{BB37750F-51FB-4B98-BA14-E1765CE2C790}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SQLServer.Linux.EventRule.DBEngine.An_error_occurred_in_a_SQL_Server_Service_Broker_Database_Mirroring_transport_connection_endpoint_1_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{BB37750F-51FB-4B98-BA14-E1765CE2C790}';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.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>9642</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Linux.EventRule.DBEngine.An_error_occurred_in_a_SQL_Server_Service_Broker_Database_Mirroring_transport_connection_endpoint_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/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>