MSSQL sur Linux : Le fichier journal de la base de données est saturé. Sauvegardez le journal des transactions de la base de données pour libérer de l'espace pour le journal

Microsoft.SQLServer.Linux.EventRule.DBEngine.Database_log_file_is_full._Back_up_the_transaction_log_for_the_database_to_free_up_some_log_space_1_5_Rule (Rule)

Le fichier journal de transactions spécifié n'a plus d'espace libre.

Knowledge Base article:

Causes

Le fichier journal de transactions spécifié n'a plus d'espace libre.

Solutions

Pour obtenir de l'espace supplémentaire, libérez de l'espace sur un lecteur contenant le fichier journal de la base de données concernée. Ceci permet au système de récupération d'augmenter la taille du fichier journal automatiquement. Vous pouvez également obtenir de l'espace en ajoutant ou en augmentant la taille d'un fichier journal pour la base de données spécifiée.

Vous pouvez libérer de l’espace disque sur votre lecteur local ou sur un autre lecteur de disque. Pour libérer de l’espace sur un autre lecteur :

Une autre solution consiste à ajouter un fichier journal à la base de données spécifiée en utilisant la clause ADD FILE de l'instruction ALTER DATABASE. Vous pouvez également accroître la taille du fichier journal à l'aide de la clause MODIFY FILE de l'instruction ALTER DATABASE, en spécifiant la syntaxe de SIZE et MAXSIZE. L'ajout d'un fichier journal permet le développement du journal existant.

Paramètres remplaçables

Nom

Description

Valeur par défaut

Activé

Active ou désactive le flux de travail.

Oui

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

Severité

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
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL sur Linux : Le fichier journal de la base de données est saturé. Sauvegardez le journal des transactions de la base de données pour libérer de l'espace pour le journal
{0}
CommentMom2017ID='{AE514F41-328C-4346-8F73-79EFD38BEFDE}';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.Database_log_file_is_full._Back_up_the_transaction_log_for_the_database_to_free_up_some_log_space_1_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{AE514F41-328C-4346-8F73-79EFD38BEFDE}';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>9002</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.Database_log_file_is_full._Back_up_the_transaction_log_for_the_database_to_free_up_some_log_space_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>