MSSQL für Linux: Die Protokolldatei der Datenbank ist voll. Sichern Sie das Transaktionsprotokoll für die Datenbank, um Protokollspeicherplatz freizugeben.

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)

Die angegebene Transaktionsprotokolldatei enthält keinen freien Speicherplatz mehr.

Knowledge Base article:

Ursachen

Die angegebene Transaktionsprotokolldatei enthält keinen freien Speicherplatz mehr.

Lösungen

Um weiteren Speicherplatz zu gewinnen, können Sie Speicherplatz auf jedem Datenträgerlaufwerk freigeben, das die Transaktionsprotokolldatei für die zugehörige Datenbank enthält. Durch das Freigeben von Speicherplatz kann das Wiederherstellungssystem die Protokolldatei automatisch vergrößern. Sie können jedoch auch weiteren Speicherplatz gewinnen, indem Sie eine Protokolldatei für die angegebene Datenbank hinzufügen oder vergrößern.

Sie können freien Speicherplatz auf Ihrem lokalen Laufwerk oder einem anderen Festplattenlaufwerk schaffen. So schaffen Sie freien Speicherplatz auf einem anderen Laufwerk:

Eine weitere Lösung besteht darin, mithilfe der ADD FILE-Klausel der ALTER DATABASE-Anweisung der angegebenen Datenbank eine Protokolldatei hinzufügen. Oder Sie können die Protokolldatei mithilfe der MODIFY FILE-Klausel der ALTER DATABASE-Anweisung vergrößern. Geben Sie dabei die Syntax SIZE und MAXSIZE an. Durch das Hinzufügen einer zusätzlichen Protokolldatei kann das bestehende Protokoll weiter anwachsen.

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Intervall (Sekunden)

Gibt das Wiederholungsintervall in Sekunden für die Ausführung des Workflows an.

300

Priorität

Definiert die Warnungspriorität.

1

Schweregrad

Definiert den Warnungsschweregrad.

2

Synchronisierungszeit

Synchronisierungszeit

 

Timeout (Sekunden)

Gibt die Zeit an, zu der der Workflow ausgeführt werden dann, bevor er geschlossen und als fehlerhaft markiert wird.

200

Timeout für Datenbankverbindung (Sekunden)

Es tritt ein Fehler beim Workflow auf, und ein Ereignis wird registriert, wenn der Workflow nicht innerhalb des angegebenen Zeitraums auf die Datenbank zugreifen kann.

15

Element properties:

TargetMicrosoft.SQLServer.Linux.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL für Linux: Die Protokolldatei der Datenbank ist voll. Sichern Sie das Transaktionsprotokoll für die Datenbank, um Protokollspeicherplatz freizugeben.
{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>
<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>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>