MSSQL 2016: Die Datenbank kann aufgrund unzugänglicher Dateien oder unzureichendem Arbeitsspeicher oder Speicherplatz auf dem Datenträger nicht geöffnet werden.

Microsoft.SQLServer.2016.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)

Fehler 945 wird ausgegeben, wenn die Datenbank als heruntergefahren markiert ist. Dieser Fehler tritt auf, wenn eine Datenbank aufgrund fehlender Dateien oder eines anderen, nicht leicht korrigierbaren Ressourcenfehlers nicht wiederhergestellt werden kann.

Knowledge Base article:

Zusammenfassung

Fehler 945 wird ausgegeben, wenn die Datenbank als IsShutdown markiert ist. Dies ist dann der Fall, wenn eine Datenbank aufgrund fehlender Dateien oder eines anderweitigen, meist leicht korrigierbaren Ressourcenfehlers nicht wiederhergestellt werden kann.

Lösungen

Überprüfen Sie zuerst mithilfe von DATABASEPROPERTY, ob die Datenbank als IsShutdown markiert ist.

Bestimmen Sie dann die Ursache des Fehlers, indem Sie das Fehlerprotokoll lesen und eine der unten aufgeführten Maßnahmen ergreifen.

Überprüfen Sie zuerst mithilfe von DATABASEPROPERTY, ob die Datenbank als IsShutdown markiert ist.

Bestimmen Sie dann die Ursache des Fehlers, indem Sie das Fehlerprotokoll lesen und eine der unten aufgeführten Maßnahmen ergreifen.

Es fehlt mindestens eine Daten- oder Protokolldatei:

Der Protokollspeicherplatz reicht nicht aus:

Die Datenbank wird durch dieses Verfahren wiederhergestellt und online geschaltet.

Der Datenspeicherplatz reicht nicht aus:

Die Datenbank wird durch dieses Verfahren wiederhergestellt und online geschaltet.

Der Arbeitsspeicher reicht nicht aus:

Der Fehler in Bezug auf unzureichenden Arbeitsspeicher kann auftreten, wenn mehrere Datenbanken gleichzeitig wiederhergestellt werden. Das Problem kann möglicherweise durch Wiederholen des Vorgangs gelöst werden:

Wenn das Wiederholen des Vorgangs nicht das gewünschte Ergebnis liefert, ziehen Sie das Freigeben von Arbeitsspeicher in Betracht.

Parameter, die außer Kraft gesetzt werden können

Name

Beschreibung

Standardwert

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Priorität

Definiert die Warnungspriorität.

1

Schweregrad

Definiert den Warnungsschweregrad.

1

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID945
Event Source$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL 2016: Die Datenbank kann aufgrund unzugänglicher Dateien oder unzureichendem Arbeitsspeicher oder Speicherplatz auf dem Datenträger nicht geöffnet werden.
{0}
Event LogApplication
CommentMom2016ID='{3BC2D536-13F6-4982-B717-0DCF03213119}';MOM2016GroupID={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.2016.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="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2016ID='{3BC2D536-13F6-4982-B717-0DCF03213119}';MOM2016GroupID={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="SQL2016Core!Microsoft.SQLServer.2016.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.2016.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>