MSSQL für Linux: Fehler bei CREATE DATABASE. Für eine neue Datenbank auf den benannten Datenträgern konnte nicht genug Speicherplatz belegt werden.

Microsoft.SQLServer.Linux.EventRule.DBEngine.CREATE_DATABASE_failed._Could_not_allocate_enough_disk_space_for_a_new_database_on_the_named_disks_1_5_Rule (Rule)

Dieser Fehler tritt dann auf, wenn auf dem Gerät nicht genügend Speicherplatz zur Erstellung der Modelldatenbank zur Verfügung steht.

Knowledge Base article:

Zusammenfassung

Dieser Fehler tritt dann auf, wenn auf dem Gerät nicht genügend Speicherplatz zur Erstellung der Modelldatenbank vorhanden ist.

Lösungen

Welches Verfahren auf diesen Fehler angewendet wird, hängt davon ab, ob der Fehler auf einer Benutzerdatenbank oder auf tempdb aufgetreten ist.

Der Fehler ist in einer Benutzerdatenbank aufgetreten

Der Fehler ist in "tempdb" aufgetreten

Wenn Sie tempdb von einem Gerät auf ein Standardgerät zurückverschoben haben und auf dem Gerät nicht genügend Speicherplatz (2 MB) zur Verfügung steht, versucht Microsoft SQL Server, tempdb auf einem anderen Gerät zu erstellen. Wenn Sie über kein Gerät mit mindestens 2 MB freiem Speicherplatz verfügen, wird SQL Server nicht gestartet. Starten Sie SQL Server mit der Mindestkonfigurationsoption -f

Sie haben die Möglichkeit, auf dem Medium mindestens 2 MB Speicherplatz freizugeben oder ein neues Medium mit mindestens 2 MB freiem Speicherplatz zu erstellen. Wenn Sie ein neues Medium erstellen, stellen Sie sicher, dass es wie in diesem Beispiel als Standardmedium angegeben ist:

sp_diskdefault name_des_neuen_geräts, defaulton

Wenn kein Standard angegeben ist, wird von SQL Server eine Meldung bezüglich des nicht ausreichenden Arbeitsspeichers gesendet, die Sie ignorieren können. Anschließend wird tempdb automatisch in den Arbeitsspeicher verschoben.

Ü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: Fehler bei CREATE DATABASE. Für eine neue Datenbank auf den benannten Datenträgern konnte nicht genug Speicherplatz belegt werden.
{0}
CommentMom2017ID='{9722C604-8246-478A-A7CC-36B31045A847}';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.CREATE_DATABASE_failed._Could_not_allocate_enough_disk_space_for_a_new_database_on_the_named_disks_1_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{9722C604-8246-478A-A7CC-36B31045A847}';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>1803</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.CREATE_DATABASE_failed._Could_not_allocate_enough_disk_space_for_a_new_database_on_the_named_disks_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>