Non è possibile aprire il database a causa di file inaccessibili oppure di memoria o spazio su disco insufficiente. Per altre informazioni, vedere il log degli errori di SQL Server.

Microsoft.SQLServer.2008.Database_cannot_be_opened_due_to_inaccessible_files_or_insufficient_memory_or_disk_space._See_the_SQL_Server_errorlog_for_details_1_5_Rule (Rule)

Knowledge Base article:

Riepilogo

L'errore 945 si verifica quando il database è contrassegnato come IsShutdown. Questo avviene quando non è possibile recuperare un database a causa di file mancanti o di altri errori delle risorse che, in genere, sono facilmente risolvibili.

Soluzioni

Verificare innanzitutto che il database sia contrassegnato come IsShutdown usando DATABASEPROPERTY.

Determinare quindi la causa dell'errore consultando il log degli errori ed eseguire l'azione appropriata secondo quanto indicato di seguito.

Verificare innanzitutto che il database sia contrassegnato come IsShutdown usando DATABASEPROPERTY.

Determinare quindi la causa dell'errore consultando il log degli errori ed eseguire l'azione appropriata secondo quanto indicato di seguito.

In caso di mancanza di uno o più file di dati o di log:

In caso di mancanza di spazio nel log:

Il database viene recuperato e portato online tramite questa procedura.

In caso di mancanza di spazio per i dati:

Il database viene recuperato e portato online tramite questa procedura.

In caso di memoria insufficiente:

L'errore dovuto a memoria insufficiente può verificarsi quando viene eseguito il recupero contemporaneo di numerosi database. Ripetendo l'operazione, è possibile risolvere il problema:

Se la ripetizione dell'operazione non è sufficiente, provare a liberare memoria.

Parametri di cui è possibile eseguire l'override

Nome

Descrizione

Valore predefinito

Abilitato

Abilita o disabilita il flusso di lavoro.

Priorità

Definisce la priorità dell'avviso.

1

Gravità

Definisce la gravità dell'avviso.

1

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID945
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
Non è possibile aprire il database a causa di file inaccessibili oppure di memoria o spazio su disco insufficiente. Per altre informazioni, vedere il log degli errori di SQL Server.
{0}
Event LogApplication
CommentMom2008ID='{3BC2D536-13F6-4982-B717-0DCF03213119}';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.Database_cannot_be_opened_due_to_inaccessible_files_or_insufficient_memory_or_disk_space._See_the_SQL_Server_errorlog_for_details_1_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{3BC2D536-13F6-4982-B717-0DCF03213119}';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>945</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2008.Database_cannot_be_opened_due_to_inaccessible_files_or_insufficient_memory_or_disk_space._See_the_SQL_Server_errorlog_for_details_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>