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