Linux 上的 MSSQL: Service Broker/資料庫鏡像傳輸作業期間發生 SNI 呼叫失敗

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

在 Service Broker/資料庫鏡像傳輸作業期間,發生 SNI 呼叫失敗時,此規則會觸發警示。注意: 根據預設會停用此規則。必要時請使用覆寫加以啟用。

Knowledge Base article:

摘要

SQL Server Service Broker 或資料庫鏡像嘗試透過 SQL 網路介面 (SNI) 存取傳輸層。SNI 傳回錯誤。傳輸無法繼續進行。

Service Broker 或資料庫鏡像對 SNI 發出呼叫,但其傳回錯誤。SQL Server 傳輸無法繼續。此錯誤在 Linux 應用程式記錄檔中記錄為 MSSQLSERVER 事件識別碼 8471。

原因

這是由於網路連線不當或實體網路失敗所造成。

解決方式

檢查系統錯誤記錄檔。尋找與網路問題相關的其他錯誤。

確認網路設定正確。

確認伺服器連線至實體網路,且實體網路運作正常。

可覆寫的參數

名稱

描述

預設值

已啟用

啟用或停用該工作流程。

間隔 (秒)

每次重複執行工作流程之間的時間間隔 (秒)。

300

優先順序

定義警示優先順序。

1

嚴重性

定義警示嚴重性。

2

同步處理時間

同步處理時間

 

逾時 (秒)

指定流程被關閉及標示為失敗之前,允許執行的時間。

200

資料庫連線的逾時 (秒)

若工作流程無法在指定的期限之內存取資料庫,將會失敗並登錄一則事件。

15

Element properties:

TargetMicrosoft.SQLServer.Linux.DBEngine
CategoryEventCollection
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
Linux 上的 MSSQL: Service Broker/資料庫鏡像傳輸作業期間發生 SNI 呼叫失敗
{0}
CommentMom2017ID='{83D194E9-BD2D-4A4B-B818-4820F94C9A54}';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_SNI_call_failed_during_a_Service_Broker_Database_Mirroring_transport_operation_1_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="false" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{83D194E9-BD2D-4A4B-B818-4820F94C9A54}';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>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>8471</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_SNI_call_failed_during_a_Service_Broker_Database_Mirroring_transport_operation_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>