Cando se usa Microsoft SQL Server para anexar ou acceder a un ficheiro de base de datos MDF corrupto, pode atopar unha variedade de mensaxes de erro que poden resultar confusas. A continuación, listaremos todos os erros, ordenados por frecuencia. Para cada erro, esbozaremos os seus síntomas, explicaremos a causa exacta e proporcionaremos ficheiros de mostra xunto cos ficheiros corrixidos por DataNumen SQL Recovery. Isto axudarache a comprender mellor estes erros. Ten en conta que "xxx.MDF" representará o nome do teu corrupto SQL Server Arquivo de base de datos MDF.
Baseado en SQL Server ou mensaxes de erro CHECKDB, hai tres tipos de erros:
-
- 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áxina SGAM | Almacenar a información compartida do mapa de asignación global (SGAM). |
Páxina IAM | Almacenar a información do mapa de asignación de índices (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 incoherentes coa información de asignación, entón SQL Server ou CHECKDB informará erros de asignación.
- Erros de consistencia: para páxinas que se usan para almacenar datos, incluídas as páxinas de datos e páxinas de índice, se SQL Server ou CHECKDB atopan algunha inconsistencia entre o contido da páxina e a suma de verificación, entón informarán erros de consistencia.
- Todos os demais erros: Pode haber outros erros que non entren nas dúas categorías anteriores.
- xxxx.mdf non é un ficheiro de base de datos principal. (Microsoft SQL Server, Erro: 5171)
- A cabeceira do ficheiro 'xxxx.mdf' non é unha cabeceira de ficheiro de base de datos válida. A propiedade FILE SIZE é incorrecta.(Microsoft SQL Server, Erro: 5172)
- SQL Server detectou un erro de E/S baseado na coherencia lóxica: suma de verificación incorrecta
- SQL Server detectou un erro de E/S baseado na coherencia lóxica: páxina rasgada
- Borras algúns rexistros ou táboas da base de datos por erro.
SQL Server ten unha ferramenta incorporada chamada DBCC, que ten CHECKDB COMPROBABLE opcións que poden axudar a reparar unha base de datos MDF corrupta. Non obstante, para ficheiros de base de datos MDB danados gravemente, DBCC CHECKDB COMPROBABLE tamén fallará.
Erros de coherencia informados por CHECKDB:
- SQL Server detectou un erro de E/S baseado na coherencia lóxica: suma de verificación incorrecta
- A fila en sys.xxx non ten unha fila coincidente en sys.xxx.
- Erro da táboa: reconstruirase o ID de obxecto ## e o ID de índice ##.
- Este índice da táboa do sistema non se pode recrear.
- ID de obxecto ##, ID de índice ##, ID de partición ##, ID de unidade de asignación ## (tipo descoñecido), ID de páxina (##:560) contén un ID de páxina incorrecto na súa cabeceira de páxina.
Erros de asignación informados por CHECKDB:
- A páxina do mapa de asignación de índices (IAM) é sinalada polo punteiro seguinte da páxina IAM
- A extensión (##:##) no ID de base de datos ## está marcada como asignada no GAM, pero ningún SGAM ou IAM a asignou.
Todos os outros erros informados por CHECKDB:
- Fallou: (-#######) Produciuse un erro ao executar a consulta "DBCC CHECKDB(xxxx) WITH NO_INFOMSGS" co seguinte erro: "xxxx".
- Detectouse un erro de E/S (ID de páxina incorrecto) durante a lectura na compensación 0x###### no ficheiro 'xxxx.mdf'.
- O sistema non puido activar o suficiente da base de datos para reconstruír o rexistro
- Perda de datos ao reparar con CHECKDB
- Parece que o sistema operativo truncou o ficheiro.
- Durante a refacer unha operación rexistrada na base de datos 'xxxx', produciuse un erro no ID do rexistro de rexistro.