Не удается открыть базу данных из-за недоступных файлов, нехватки памяти или места на диске. Подробности см. в журнале ошибок 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:

Сводка

Ошибка 945 возвращается, когда база данных отмечается как IsShutdown. Это происходит, когда базу данных нельзя восстановить из-за отсутствующих файлов или из-за какой-то ошибки других ресурсов, которую обычно можно легко исправить.

Решения

Сначала с помощью DATABASEPROPERTY проверьте, что база данных помечена как IsShutdown.

Затем установите причину ошибки с помощью журнала ошибок и выполните необходимые действия, как описано ниже.

Сначала с помощью DATABASEPROPERTY проверьте, что база данных помечена как IsShutdown.

Затем установите причину ошибки с помощью журнала ошибок и выполните необходимые действия, как описано ниже.

Если отсутствует один или несколько файлов данных или файлов журнала:

Если недостаточно места в файле журнала:

Эта процедура восстанавливает базу данных и переводит ее в режим "в сети".

Если недостаточно места в файле данных:

Эта процедура восстанавливает базу данных и переводит ее в режим "в сети".

Если недостаточно памяти:

Ошибка, связанная с нехваткой памяти, может возникать, когда одновременно восстанавливается несколько баз данных. Повторное выполнение данной операции может устранить проблему.

Если эту операцию не удается повторить, попробуйте освободить память.

Переопределяемые параметры

Имя

Описание

Значение по умолчанию

Вкл.

Включает или отключает рабочий процесс.

Да

Приоритет

Определяет приоритет предупреждения.

1

Серьезность

Определяет серьезность предупреждения.

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
Не удается открыть базу данных из-за недоступных файлов, нехватки памяти или места на диске. Подробности см. в журнале ошибок 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>