MSSQL no Windows: não foi possível ler e travar a página

Microsoft.SQLServer.Windows.EventRule.DBEngine.Could_not_read_and_latch_page_1_5_Rule (Rule)

A leitura de página falhou por algum motivo (consulte os erros) ou uma trava não pôde ser efetuada (talvez existam mensagens de tempo limite para trava no log de erros).

Knowledge Base article:

Resumo

A leitura de página falhou por algum motivo (consulte os erros) ou uma trava não pôde ser efetuada (talvez existam mensagens de tempo limite para trava no log de erros).

Causas

Informações por estado:

Estado 1: a página está sendo lida como parte das per-checks de tabelas críticas do sistema.

Estado 2: uma operação indeterminada está sendo executada. O erro foi gerado pelo código de leitura/trava DBCC.

Estado 3: uma operação indeterminada está sendo executada. O erro foi gerado pelo código de leitura/trava DBCC.

Estado 4: a página está sendo lida para verificar a ID da página.

Estado 5: a página está sendo reparada.

Resoluções

FALHA DE HARDWARE

Execute o diagnóstico de hardware e corrija quaisquer problemas. Além disso, examine os logs de sistema e de aplicativo do Microsoft Windows NT e o log de erros do SQL Server para ver se o erro ocorreu devido a uma falha de hardware. Corrija quaisquer problemas relacionados ao hardware.

Se você tiver problemas persistentes de dados corrompidos, tente alternar a retirada de diferentes componentes de hardware para isolar o problema. Verifique se o sistema não tem cache de gravação habilitado no controlador de disco. Se você suspeitar que esse é o caso, entre em contato com o fornecedor do hardware.

Por fim, talvez seja útil mudar para um sistema de hardware completamente novo, incluindo a reformatação das unidades de disco e a reinstalação do sistema operacional.

RESTAURAR USANDO BACKUP

Se o problema não estiver relacionado ao hardware e um backup limpo conhecido estiver disponível, restaure o banco de dados do backup.

DBCC CHECKDB

Se nenhum backup limpo estiver disponível, execute DBCC CHECKDB sem uma cláusula de reparo para determinar a extensão da corrupção. DBCC CHECKDB recomendará uma cláusula de reparo para utilizar. Em seguida, execute DBCC CHECKDB com a cláusula de reparo apropriada para reparar a corrupção.

Cuidado: caso não esteja certo do efeito que o DBCC CHECKDB com uma cláusula de reparo terá nos dados, contate seu provedor de suporte principal antes de executar essa instrução.

Não há nenhum reparo para esse erro, pois ele é apenas um sintoma do problema real. Consulte os erros que acompanham este artigo para obter detalhes

Parâmetros Substituíveis

Nome

Descrição

Valor Padrão

Habilitado

Habilita ou desabilita o fluxo de trabalho.

Sim

Intervalo (segundos)

O intervalo de tempo recorrente em segundos no qual executar o fluxo de trabalho.

300

Prioridade

Define a Prioridade do Alerta.

1

Severidade

Define a Severidade do Alerta.

2

Tempo de Sincronização

Tempo de Sincronização

 

Tempo Limite (em segundos)

Especifica o tempo que o fluxo de trabalho pode para ser executado antes de ser fechado e marcado como falha.

200

Tempo limite da conexão de banco de dados (segundos)

O fluxo de trabalho falhará e registrará um evento, se ele não conseguir acessar o banco de dados durante o período especificado.

15

Element properties:

TargetMicrosoft.SQLServer.Windows.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL no Windows: não foi possível ler e travar a página
{0}
CommentMom2017ID='{8B206728-447D-4B23-B745-7C22953A2E4C}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.Windows.EventRule.DBEngine.Could_not_read_and_latch_page_1_5_Rule" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{8B206728-447D-4B23-B745-7C22953A2E4C}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>8966</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.EventRule.DBEngine.Could_not_read_and_latch_page_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>