MSSQL sur Linux : Le moteur de base de données SQL Server est redémarré

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

Détecte le redémarrage du moteur de base de données SQL Server. 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

Cette règle détecte le redémarrage de SQL Server.

Configuration

Cette règle détecte que le service du moteur de base de données SQL s'est trouvé dans l'état « Arrêté » pendant une courte période avant de revenir à l'état « En cours d'exécution ». La durée d'indisponibilité autorisée est définie dans le paramètre « Durée d'indisponibilité » et a pu être remplacée. Cette valeur est par défaut de 900 secondes (15 min).

Paramètres remplaçables

Nom

Description

Valeur par défaut

Activé

Active ou désactive le flux de travail.

Non

Priorité

Définit la priorité de l'alerte.

1

Gravité

Définit la gravité de l'alerte.

1

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é.

300

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

Durée d'indisponibilité (secondes)

Le flux de travail tente d’intercepter un événement de démarrage de service dans cette période de temps, après l’arrêt du service d’événements.

900

Element properties:

TargetMicrosoft.SQLServer.Linux.DBEngine
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL sur Linux : Le moteur de base de données SQL Server est redémarré
Le moteur de base de données SQL Server de l'instance SQL server « {0} » a été redémarré sur l'ordinateur « {1} ».

Member Modules:

ID Module Type TypeId RunAs 
ServiceRestart DataSource Microsoft.SQLServer.Linux.DataSource.DBEngineServiceRestart Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.Linux.EventRule.DBEngine.ServiceRestart" Enabled="false" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>AvailabilityHealth</Category>
<DataSources>
<DataSource ID="ServiceRestart" TypeID="Microsoft.SQLServer.Linux.DataSource.DBEngineServiceRestart">
<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>
<TimeoutSeconds>300</TimeoutSeconds>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<CorrelatorInterval>900</CorrelatorInterval>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Linux.EventRule.DBEngine.ServiceRestart.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>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>