Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico descreve como gerenciar a tabela suspect_pages no SQL Server 2014 usando o SQL Server Management Studio ou o Transact-SQL. A tabela suspect_pages é usada para manter informações sobre páginas suspeitas e é relevante para ajudar a decidir se uma restauração é necessária. A tabela suspect_pages reside no banco de dados msdb.
Uma página é considerada "suspeita" quando o Mecanismo de Banco de Dados do SQL Server encontra um dos seguintes erros quando tenta ler uma página de dados:
Um erro 823 causado por uma CRC (verificação de redundância cíclica) emitida pelo sistema operacional, como um erro de disco (certos erros de hardware)
Um erro 824, como uma página rasgada (qualquer erro lógico)
A ID da página de cada página suspeita é registrada na tabela suspect_pages . O Mecanismo de Banco de Dados registra as páginas suspeitas encontradas durante o processamento regular, como o seguinte:
Uma consulta precisa ler uma página.
Durante uma operação DBCC CHECKDB.
Durante uma operação de backup.
A tabela suspect_pages também é atualizada conforme necessário durante uma operação de restauração, uma operação de reparo DBCC ou uma operação de banco de dados de descarte.
Nesse Tópico
Antes de começar:
Para gerenciar a tabela suspect_pages, usando:
Antes de começar
Recomendações
Erros registrados na tabela suspect_pages
A tabela suspect_pages contém uma linha por página que falhou com um erro 824, até um limite de 1.000 linhas. A tabela a seguir mostra erros registrados na coluna event_type da tabela suspect_pages .
Descrição do erro event_type valor Erro 823 causado por um erro CRC do sistema operacional ou erro 824 que não seja uma soma de verificação incorreta ou uma página rasgada (por exemplo, um ID de página inválido) 1 Soma de verificação incorreta 2 Página rasgada 3 Restaurado (a página foi restaurada depois que foi marcada como incorreta) 4 Reparado (DBCC, AlwaysOn ou espelhamento repararam a página) 5 Desalocado por DBCC 7 A tabela suspect_pages também registra erros transitórios. As fontes de erros transitórios incluem um erro de E/S (por exemplo, um cabo foi desconectado) ou uma página que falha temporariamente em um teste de soma de verificação repetido.
Como o mecanismo de banco de dados atualiza a tabela suspect_pages
O Mecanismo de Banco de Dados executa as seguintes ações na tabela suspect_pages :
Se a tabela não estiver cheia, ela será atualizada para cada erro 824, para indicar que ocorreu um erro e o contador de erros será incrementado. Se uma página tiver um erro após ser corrigida ao ser reparada, restaurada ou desalocada, sua contagem de number_of_errors será incrementada e sua coluna last_update será atualizada.
Depois que uma página listada é corrigida por uma restauração ou uma operação de reparo, a operação atualiza a linha suspect_pages para indicar que a página é reparada (event_type = 5) ou restaurada (event_type = 4).
Se for executada uma verificação DBCC, ela marcará as páginas livres de erros como reparadas (event_type = 5) ou deallocadas (event_type = 7).
Atualizações automáticas para a tabela suspect_pages
Um parceiro de espelhamento de banco de dados ou uma réplica de disponibilidade AlwaysOn atualiza a tabela suspect_pages quando uma tentativa de ler uma página de um arquivo de dados falha por um dos seguintes motivos.
Um erro 823 causado por um erro de CRC do sistema operacional.
Um erro 824 (corrupção lógica, como uma página rasgada).
As ações a seguir também atualizam automaticamente as linhas na tabela suspect_pages .
O DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS atualiza a tabela suspect_pages para indicar cada página desalocada ou reparada.
Um RESTORE completo, de arquivo ou de página sinaliza as entradas da página como restauradas.
As ações a seguir excluem automaticamente linhas da tabela suspect_pages .
ALTER DATABASE REMOVE FILE
DROP DATABASE
Função de manutenção do administrador de banco de dados
Os administradores de banco de dados são responsáveis por gerenciar a tabela, principalmente excluindo linhas antigas. A tabela suspect_pages é limitada em tamanho e, se for preenchida, novos erros não serão registrados. Para impedir que essa tabela seja preenchida, o administrador do banco de dados ou o administrador do sistema deve limpar manualmente as entradas antigas dessa tabela excluindo linhas. Portanto, recomendamos que você exclua ou arquive periodicamente linhas que tenham um event_type de restaurado ou reparado, ou que tenham um valor de last_update antigo.
Para monitorar a atividade na tabela suspect_pages, você pode usar a Classe de Evento de Página de Dados Suspeita do Banco de Dados. Às vezes, as linhas são adicionadas à tabela suspect_pages devido a erros transitórios. No entanto, se muitas linhas estiverem sendo adicionadas à tabela, provavelmente existirá um problema com o subsistema de E/S. Se você observar um aumento repentino no número de linhas que estão sendo adicionadas à tabela, recomendamos que você investigue possíveis problemas em seu subsistema de E/S.
Um administrador de banco de dados também pode inserir ou atualizar registros. Por exemplo, atualizar uma linha pode ser útil quando o administrador do banco de dados sabe que uma página suspeita específica está realmente intacta, mas deseja preservar o registro por um tempo.
Segurança
Permissões
Qualquer pessoa com acesso ao msdb pode ler os dados na tabela suspect_pages . Qualquer pessoa com permissão de atualização na tabela suspect_pages pode atualizar os seus registros. Membros da função de banco de dados fixa db_owner no msdb ou da função fixa de servidor sysadmin podem inserir, atualizar e excluir registros.
Como usar o SQL Server Management Studio.
Para gerenciar a tabela suspect_pages
No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados do SQL Server, expanda essa instância e expanda Bancos de Dados.
Expanda bancos de dados do sistema, expanda msdb, expanda Tabelas e expanda Tabelas do Sistema.
Expanda dbo.suspect_pages e clique com o botão direito do mouse em Editar as 200 Primeiras Linhas.
Na janela de consulta, edite, atualize ou exclua as linhas desejadas.
Usando Transact-SQL
Para gerenciar a tabela suspect_pages
Conecte-se ao Mecanismo de Banco de Dados.
Na barra Padrão, clique em Nova Consulta.
Copie e cole os exemplos a seguir na janela de consulta e clique em Executar. Este exemplo exclui algumas das linhas da
suspect_pagestabela.
-- Delete restored, repaired, or deallocated pages.
DELETE FROM msdb..suspect_pages
WHERE (event_type = 4 OR event_type = 5 OR event_type = 7);
GO
Este exemplo retorna as páginas inválidas na suspect_pages tabela.
-- Select nonspecific 824, bad checksum, and torn page errors.
SELECT * FROM msdb..suspect_pages
WHERE (event_type = 1 OR event_type = 2 OR event_type = 3);
GO
Consulte Também
drop database (Transact-SQL)
RESTORE (Transact-SQL)
BACKUP (Transact-SQL)
DBCC (Transact-SQL)
Restaurar Páginas (SQL Server)
suspect_pages (Transact-SQL)
MSSQLSERVER_823
MSSQLSERVER_824