MSSQL sur Linux : Impossible d'allouer de l'espace à l'objet dans la base de données, car le groupe de fichiers est saturé

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

L'espace libre est insuffisant pour le groupe de fichiers spécifié.

Knowledge Base article:

Récapitulatif

L'espace libre est insuffisant pour le groupe de fichiers spécifié.

Résolutions

Pour gagner de l'espace, vous pouvez libérer de l'espace sur un lecteur contenant un fichier du groupe de fichiers saturé et ainsi permettre aux fichiers du groupe de croître. Vous pouvez aussi utiliser un fichier de données avec 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 de données à la base de données indiquée à l'aide de la clause ADD FILE de l'instruction ALTER DATABASE. Vous pouvez également augmenter la taille du fichier de données à l'aide de la clause MODIFY FILE de l'instruction ALTER DATABASE, en spécifiant la syntaxe SIZE et MAXSIZE.

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

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
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL sur Linux : Impossible d'allouer de l'espace à l'objet dans la base de données, car le groupe de fichiers est saturé
{0}
CommentMom2017ID='{483086B5-D7CD-4086-AA27-C988D9CF229D}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.SQLServer.Linux.DataSource.EventCollectionFilteredNoFlood Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.Linux.EventRule.DBEngine.Could_not_allocate_space_for_object__in_database__because_the__filegroup_is_full_1_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{483086B5-D7CD-4086-AA27-C988D9CF229D}';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.EventCollectionFilteredNoFlood">
<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>1105</EventDisplayNumber>
<AmountToPass>10</AmountToPass>
<ResetIntervalSec>60</ResetIntervalSec>
<FilterProperty>EventID</FilterProperty>
</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.Could_not_allocate_space_for_object__in_database__because_the__filegroup_is_full_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Property[@Name='EventID']$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>