오류 945는 데이터베이스가 IsShutdown으로 표시되었을 때 반환됩니다. 이 오류는 파일이 없거나 쉽게 수정할 수 있는 다른 리소스 오류로 인해 데이터베이스를 복구할 수 없을 때 발생합니다.
먼저 DATABASEPROPERTY를 사용하여 데이터베이스가 IsShutdown으로 표시되었는지 확인합니다.
그런 다음 오류 로그를 참고하여 오류의 원인을 확인하고 아래에서 설명하는 동작을 수행하십시오.
파일을 사용할 수 있도록 만들고 ALTER DATABASE를 사용하여 데이터베이스를 오프라인으로 설정하십시오.
ALTER DATABASE를 사용하여 데이터베이스를 온라인으로 설정하십시오.
먼저 DATABASEPROPERTY를 사용하여 데이터베이스가 IsShutdown으로 표시되었는지 확인합니다.
그런 다음 오류 로그를 참고하여 오류의 원인을 확인하고 아래에서 설명하는 동작을 수행하십시오.
하나 이상의 데이터나 로그 파일이 없는 경우
파일을 사용할 수 있도록 만들고 ALTER DATABASE를 사용하여 데이터베이스를 오프라인으로 설정하십시오.
ALTER DATABASE를 사용하여 데이터베이스를 온라인으로 설정하십시오.
로그 공간이 부족한 경우
sp_add_log_file_recover_suspect_db()를 사용하여 다른 로그 파일을 추가하십시오.
이 프로시저에 의해 데이터베이스가 복구되고 온라인으로 설정됩니다.
데이터 공간이 부족한 경우
sp_add_data_file_recover_suspect_db()를 사용하여 다른 로그 파일을 추가하십시오.
이 프로시저에 의해 데이터베이스가 복구되고 온라인으로 설정됩니다.
메모리가 부족한 경우
메모리 부족 오류는 많은 데이터베이스를 동시에 복구할 때 발생할 수 있습니다. 작업을 다시 시도하면 문제가 해결될 수 있습니다.
ALTER DATABASE를 사용하여 작업을 다시 시도하고 데이터베이스를 오프라인으로 설정하십시오.
ALTER DATABASE를 사용하여 데이터베이스를 온라인으로 설정하십시오.
작업을 다시 시도해도 문제가 해결되지 않으면 메모리 공간을 늘리십시오.
Target | Microsoft.SQLServer.2005.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 | Mom2005ID='{3BC2D536-13F6-4982-B717-0DCF03213119}';MOM2005GroupID={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.2005.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="SQL2005Core!Microsoft.SQLServer.2005.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2005ID='{3BC2D536-13F6-4982-B717-0DCF03213119}';MOM2005GroupID={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.2005.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>