Fehler 945 wird zurückgegeben, wenn die Datenbank die Markierung "IsShutdown" aufweist. Dies geschieht, wenn eine Datenbank aufgrund fehlender Dateien oder anderer Ressourcenfehler, die normalerweise leicht korrigiert werden können, nicht wiederhergestellt werden kann.
Ü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.
Machen Sie die Dateien verfügbar, und schalten Sie die Datenbank OFFLINE mithilfe von ALTER DATABASE.
Verwenden Sie ALTER DATABASE, um die Datenbank ONLINE zu schalten.
Ü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:
Machen Sie die Dateien verfügbar, und schalten Sie die Datenbank OFFLINE mithilfe von ALTER DATABASE.
Verwenden Sie ALTER DATABASE, um die Datenbank ONLINE zu schalten.
Der Protokollspeicherplatz reicht nicht aus:
Verwenden Sie sp_add_log_file_recover_suspect_db(), um eine weitere Protokolldatei hinzuzufügen.
Die Datenbank wird durch dieses Verfahren wiederhergestellt und online geschaltet.
Der Datenspeicherplatz reicht nicht aus:
Verwenden Sie sp_add_data_file_recover_suspect_db(), um eine weitere Protokolldatei hinzuzufügen.
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:
Wiederholen Sie den Vorgang mithilfe von ALTER DATABASE, um die Datenbank OFFLINE zu schalten.
Verwenden Sie ALTER DATABASE, um die Datenbank ONLINE zu schalten.
Wenn das Wiederholen des Vorgangs nicht das gewünschte Ergebnis liefert, ziehen Sie das Freigeben von Arbeitsspeicher in Betracht.
Name | Beschreibung | Standardwert |
Aktiviert | Aktiviert oder deaktiviert den Workflow. | Ja |
Priorität | Definiert die Warnungspriorität. | 1 |
Schweregrad | Definiert den Warnungsschweregrad. | 1 |
Target | Microsoft.SQLServer.2012.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 945 | ||
Event Source | $Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2012ID='{3BC2D536-13F6-4982-B717-0DCF03213119}';MOM2012GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Microsoft.SQLServer.SQLDefaultAccount |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2012.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="SQL2012Core!Microsoft.SQLServer.2012.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2012ID='{3BC2D536-13F6-4982-B717-0DCF03213119}';MOM2012GroupID={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.2012.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>