MSSQL sur Linux : Un appel SNI a échoué pendant une opération de transport Service Broker/Mise en miroir de bases de données

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

La règle déclenche une alerte quand un appel SNI échoue pendant une opération de transport pour Service Broker/la mise en miroir de bases de données. Remarque : Cette règle est désactivée par défaut. Utilisez des remplacements pour l'activer en cas de besoin.

Knowledge Base article:

Récapitulatif

SQL Server Service Broker ou la mise en miroir de bases de données a tenté d'accéder à la couche de transport via l'interface réseau SQL (SNI). SNI a renvoyé une erreur. Le transport ne peut se poursuivre.

Service Broker ou la mise en miroir de bases de données a émis un appel à SNI qui a retourné une erreur. Le transport SQL Server ne peut pas continuer. Cette erreur est écrite dans le journal des applications Linux sous l'ID d'événement MSSQLSERVER 8471.

Causes

Ceci est dû à une connexion réseau anormale ou à une panne du réseau physique.

Résolutions

Vérifiez les journaux d'erreurs du système. Recherchez les autres erreurs liées aux problèmes réseau.

Vérifiez que le réseau est correctement configuré.

Vérifiez que le serveur est connecté au réseau physique et que ce dernier fonctionne correctement.

Paramètres remplaçables

Nom

Description

Valeur par défaut

Activé

Active ou désactive le flux de travail.

Non

Intervalle (en secondes)

Intervalle régulier (en secondes) auquel exécuter le flux de travail.

300

Priorité

Définit la priorité de l'alerte.

1

Gravité

Définit la gravité de l'alerte.

2

Heure de synchronisation

Heure de synchronisation

 

Délai d'expiration (secondes)

Spécifie la durée pendant laquelle le flux de travail est autorisé à s'exécuter avant d'être fermé et marqué comme ayant échoué.

200

Délai d’attente pour la connexion de base de données (secondes)

Le workflow échoue et enregistre un événement s’il ne peut pas accéder à la base de données pendant la période spécifiée.

15

Element properties:

TargetMicrosoft.SQLServer.Linux.DBEngine
CategoryEventCollection
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL sur Linux : Un appel SNI a échoué pendant une opération de transport Service Broker/Mise en miroir de bases de données
{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>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<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>$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>