파일에 액세스할 수 없거나 메모리 또는 디스크 공간이 부족하여 데이터베이스를 열 수 없습니다. 자세한 내용은 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으로 표시되었는지 확인합니다.

그런 다음 오류 로그를 참고하여 오류의 원인을 확인하고 아래에서 설명하는 동작을 수행하십시오.

하나 이상의 데이터나 로그 파일이 없는 경우

로그 공간이 부족한 경우

이 프로시저에 의해 데이터베이스가 복구되고 온라인으로 설정됩니다.

데이터 공간이 부족한 경우

이 프로시저에 의해 데이터베이스가 복구되고 온라인으로 설정됩니다.

메모리가 부족한 경우

메모리 부족 오류는 많은 데이터베이스를 동시에 복구할 때 발생할 수 있습니다. 작업을 다시 시도하면 문제가 해결될 수 있습니다.

작업을 다시 시도해도 문제가 해결되지 않으면 메모리 공간을 늘리십시오.

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>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>