MSSQL 2014 : Échec de CREATE DATABASE. Impossible d'allouer suffisamment d'espace sur les disques spécifiés pour une nouvelle base de données

Microsoft.SQLServer.2014.CREATE_DATABASE_failed._Could_not_allocate_enough_disk_space_for_a_new_database_on_the_named_disks_1_5_Rule (Rule)

Cette erreur apparaît quand l'espace sur un appareil est insuffisant pour créer la base de données modèle.

Knowledge Base article:

Résumé

Cette erreur se produit lorsque l’espace est insuffisant sur le périphérique pour créer la base de données model.

Solutions

La procédure de traitement de cette erreur varie selon que l’erreur s’est produite sur une base de données utilisateur ou tempdb.

Si l'erreur s'est produite sur une base de données utilisateur

Si l'erreur s'est produite sur tempdb

Si vous avez déplacé tempdb d’un périphérique vers un périphérique par défaut quelconque et que l’espace y est insuffisant (2 Mo), Microsoft SQL Server tente de créer tempdb sur un autre périphérique. Si vous ne disposez pas d’un périphérique avec au moins 2 Mo d’espace libre, SQL Server ne démarre pas. Démarrez SQL Server en utilisant l’option de configuration minimale -f

Vous pouvez libérer au moins 2 Mo sur le périphérique, ou créer un nouveau périphérique disposant au moins de 2 Mo. Si vous créez un nouveau périphérique, assurez-vous qu'il est défini comme périphérique par défaut, comme dans l'exemple suivant :

sp_diskdefault nom_nouveau_périphérique, defaulton

En l'absence de valeur par défaut, SQL Server envoie un message « mémoire insuffisante » (vous pouvez ignorer ce message) et transfère automatiquement tempdb en mémoire vive

Paramètres remplaçables

Nom

Description

Valeur par défaut

Activé

Active ou désactive le flux de travail.

Oui

Priorité

Définit la priorité de l'alerte.

1

Severité

Définit la gravité de l'alerte.

2

Element properties:

TargetMicrosoft.SQLServer.2014.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID1803
Event Source$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL 2014 : Échec de CREATE DATABASE. Impossible d'allouer suffisamment d'espace sur les disques spécifiés pour une nouvelle base de données
{0}
Event LogApplication
CommentMom2014ID='{9722C604-8246-478A-A7CC-36B31045A847}';MOM2014GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.Windows.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2014.CREATE_DATABASE_failed._Could_not_allocate_enough_disk_space_for_a_new_database_on_the_named_disks_1_5_Rule" Target="SQL2014Core!Microsoft.SQLServer.2014.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2014ID='{9722C604-8246-478A-A7CC-36B31045A847}';MOM2014GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>1803</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2014.CREATE_DATABASE_failed._Could_not_allocate_enough_disk_space_for_a_new_database_on_the_named_disks_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>