MSSQL en Linux: el archivo de registro de la base de datos está lleno. Haga una copia de seguridad del registro de transacciones para que la base de datos libere espacio de registro

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)

El archivo de registro de transacciones especificado se ha quedado sin espacio disponible.

Knowledge Base article:

Causas

El archivo de registro de transacciones especificado se ha quedado sin espacio disponible.

Resoluciones

Para lograr más espacio, puede liberarlo en cualquier unidad de disco que contenga el archivo de registro de transacciones de la base de datos relacionada. Al liberar espacio se permite que el sistema de recuperación aumente el archivo de registro automáticamente. O bien se puede lograr espacio agregando o ampliando un archivo de registro para la base de datos especificada.

Puede liberar espacio en disco en la unidad local o en otra unidad de disco. Para liberar espacio en otra unidad:

Otra solución es agregar un archivo de registro a la base de datos especificada mediante la cláusula ADD FILE de la instrucción ALTER DATABASE. O bien puede ampliar el archivo de registro con la cláusula MODIFY FILE de la sentencia ALTER DATABASE, especificando la sintaxis de SIZE y MAXSIZE. Al agregar un archivo de registro adicional, se permite que el registro existente crezca.

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Habilitado

Habilita o deshabilita el flujo de trabajo.

Intervalo (segundos)

Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo.

300

Prioridad

Define la prioridad de alerta.

1

Gravedad

Define la gravedad de alerta.

2

Hora de sincronización

Hora de sincronización

 

Tiempo de espera (segundos)

Especifica el tiempo que el flujo de trabajo se puede ejecutar antes de cerrarlo y marcarlo como erróneo.

200

Tiempo de expiración de la conexión de base de datos (segundos)

Se producirá un error en el flujo de trabajo y se registrará un evento si no puede obtener acceso a la base de datos durante el período especificado.

15

Element properties:

TargetMicrosoft.SQLServer.Linux.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL en Linux: el archivo de registro de la base de datos está lleno. Haga una copia de seguridad del registro de transacciones para que la base de datos libere espacio de registro
{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>$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>