페이지를 읽어 래치할 수 없습니다.

Microsoft.SQLServer.2012.Could_not_read_and_latch_page_1_5_Rule (Rule)

Knowledge Base article:

요약

어떤 이유(관련 오류 참조)로 인해 페이지를 읽지 못했거나 래치를 사용할 수 없습니다. 오류 로그에 래치 시간 제한 메시지가 있을 수 있습니다.

원인

상태 단위 정보:

상태 1: 중요한 시스템 테이블 확인 단위의 일부로 페이지를 읽고 있습니다.

상태 2: 불확실한 작업을 수행 중입니다. 일반 DBCC 읽기/래치 코드에 의해 오류가 발생했습니다.

상태 3: 불확실한 작업을 수행 중입니다. 일반 DBCC 읽기/래치 코드에 의해 오류가 발생했습니다.

상태 4: 페이지 ID를 확인하기 위해 페이지를 읽고 있습니다.

상태 5: 페이지를 복구하는 중입니다.

해결 방법

하드웨어 오류

하드웨어 진단을 실행하여 문제가 있으면 이를 해결하세요. 또한 Microsoft® Windows NT® 시스템 및 응용 프로그램 로그와 SQL Server™ 오류 로그를 확인하여 이 오류가 하드웨어 오류로 인해 발생한 것인지 확인합니다. 하드웨어 관련 문제가 있으면 해결하세요.

데이터 손상 문제가 지속되면 다른 하드웨어 구성 요소로 교체하여 문제를 해결하십시오. 디스크 컨트롤러에서 쓰기 캐싱을 사용하도록 설정하지 않았는지 확인합니다. 이것이 문제라고 생각되면 하드웨어 공급업체에 문의하십시오.

마지막으로, 디스크 드라이브를 다시 포맷하고 운영 체제를 다시 설치하는 등 새 하드웨어 시스템으로 완전히 전환하는 것이 도움이 될 수 있습니다.

백업에서 복원

하드웨어 관련 문제가 아니면 정상적인 백업(있는 경우)을 사용하여 데이터베이스를 복원하십시오.

DBCC CHECKDB

문제가 없는 백업을 사용할 수 없는 경우 복구 절 없이 DBCC CHECKDB를 실행하여 손상 범위를 확인합니다. DBCC CHECKDB에서 사용할 복구 절을 제시해 줍니다. 그러면 해당 복구 절을 사용해서 DBCC CHECKDB를 실행하여 손상을 복구하십시오.

주의 DBCC CHECKDB에 복구 절을 사용할 경우 데이터에 어떤 영향이 있는지 잘 모르겠으면 이 문을 실행하기 전에 주 지원 공급자에게 문의하십시오.

실제 문제의 증상일 뿐이므로 이 오류를 수정하는 방법은 없습니다. 자세한 내용은 관련 오류를 참조하십시오.

재정의 가능한 매개 변수

이름

설명

기본값

사용

워크플로를 사용하거나 사용하지 않도록 설정합니다.

우선 순위

알림 우선 순위를 정의합니다.

1

심각도

알림 심각도를 정의합니다.

2

Element properties:

TargetMicrosoft.SQLServer.2012.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID8966
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
페이지를 읽어 래치할 수 없습니다.
{0}
Event LogApplication
CommentMom2012ID='{8B206728-447D-4B23-B745-7C22953A2E4C}';MOM2012GroupID={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.2012.Could_not_read_and_latch_page_1_5_Rule" Target="SQL2012Core!Microsoft.SQLServer.2012.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2012ID='{8B206728-447D-4B23-B745-7C22953A2E4C}';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>8966</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2012.Could_not_read_and_latch_page_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>