Cando usa Microsoft SQL Server para anexar ou acceder a un ficheiro de base de datos MDF corrupto, verá varias mensaxes de erro, que poden resultar un pouco confusas para vostede. Polo tanto, aquí intentaremos enumerar todos os erros posibles, ordenados segundo a súa frecuencia de aparición. Para cada erro, describiremos o seu síntoma, explicaremos a súa razón precisa e daremos ficheiros de mostra, así como o ficheiro corrixido pola nosa DataNumen SQL Recovery, para que os poida entender mellor. Debaixo usaremos 'xxx.MDF' para expresar o seu corrupto SQL Server Nome do ficheiro da base de datos MDF.
Baseado en SQL Server ou CHECKDB, hai tres tipos de erros que causarán fallos:

    1. Erros de asignación: Sabemos que os datos dos ficheiros MDF e NDF están asignados como páxinas. E hai algunhas páxinas especiais que se usan para a xestión da asignación, como segue:
Tipo de páxina descrición
Páxina GAM Almacenar información do mapa de asignación global (GAM).
Páx SGAM Almacenar información do mapa de asignación global compartida (SGAM).
Páxina IAM Información do mapa de asignación de índices da tenda (IAM).
Páxina PFS Almacenar información de asignación de PFS.

Se algunha das páxinas de asignación anteriores ten erros ou os datos xestionados por estas páxinas de asignación son incompatibles coa información de asignación, entón SQL Server ou CHECKDB informará erros de asignación.

  • Erros de coherencia: para páxinas que se usan para almacenar datos, incluídas as páxinas de datos e as páxinas de índice, se SQL Server ou CHECKDB atopan algunha incoherencia entre o contido da páxina e a suma de comprobación, entón informarán erros de consistencia.
  • O resto de erros: Pode haber outros erros que non entren nas dúas categorías anteriores.

 

SQL Server ten unha ferramenta integrada chamada DBCC, que ten CHECKDB COMPROBABLE opcións que poden axudar a reparar unha base de datos MDF corrupta. Non obstante, para os ficheiros de base de datos MDB gravemente danados, DBCC CHECKDB COMPROBABLE tamén fracasará.

Erros de coherencia notificados por CHECKDB:

Erros de asignación notificados por CHECKDB:

O resto de erros notificados por CHECKDB: