Error de CREATE DATABASE. No se pudo asignar suficiente espacio en disco para una nueva base de datos en los discos indicados.

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

Knowledge Base article:

Resumen

Este error se produce cuando no hay espacio suficiente en el dispositivo para crear la base de datos modelo.

Soluciones

El procedimiento de control de este error depende de si el error se produce en una base de datos de usuario o en tempdb.

Si el error se produce en una base de datos de usuario:

Si el error se produce en tempdb:

Si ha vuelto a mover tempdb desde un dispositivo a cualquier dispositivo predeterminado y no cuenta con espacio suficiente en él (2 MB), Microsoft® SQL Server™ intentará crear tempdb en otro dispositivo. Si no dispone de un dispositivo con al menos 2 MB libres, SQL Server no se iniciará. Inicie SQL Server mediante la opción de configuración mínima -f.

Puede liberar un mínimo de 2 MB en el dispositivo o crear uno nuevo que disponga, al menos, de 2 MB. Si crea un dispositivo nuevo, asegúrese de que se especifica como dispositivo predeterminado, como en este ejemplo:

sp_diskdefault new_device_name, defaulton

Si no se especifica ningún valor predeterminado, SQL Server enviará un mensaje de memoria insuficiente (puede pasarlo por alto) y, a continuación, moverá tempdb a la memoria RAM automáticamente.

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Habilitado

Habilita o deshabilita el flujo de trabajo.

Prioridad

Define la prioridad de la alerta.

1

Gravedad

Define la gravedad de la alerta.

2

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID1803
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
Error de CREATE DATABASE. No se pudo asignar suficiente espacio en disco para una nueva base de datos en los discos indicados.
{0}
Event LogApplication
CommentMom2008ID='{9722C604-8246-478A-A7CC-36B31045A847}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SQLServer.2008.CREATE_DATABASE_failed._Could_not_allocate_enough_disk_space_for_a_new_database_on_the_named_disks_1_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{9722C604-8246-478A-A7CC-36B31045A847}';MOM2008GroupID={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" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<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="SQL!Microsoft.SQLServer.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.2008.CREATE_DATABASE_failed._Could_not_allocate_enough_disk_space_for_a_new_database_on_the_named_disks_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>