Al usar Microsoft SQL Server para adjuntar o acceder a un archivo de base de datos MDF corrupto, puede encontrar una variedad de mensajes de error que pueden ser confusos. A continuación, enumeraremos todos los errores, ordenados por frecuencia. Para cada error, describiremos sus síntomas, explicaremos la causa exacta y proporcionaremos archivos de muestra junto con los archivos corregidos por DataNumen SQL Recovery. Esto le ayudará a comprender mejor estos errores. Tenga en cuenta que 'xxx.MDF' representará el nombre de su corrupto SQL Server Archivo de base de datos MDF.
Basado en SQL Server o mensajes de error CHECKDB, hay tres tipos de errores:
-
- Errores de asignación: Sabemos que los datos en los archivos MDF y NDF se asignan como paginas. Y hay algunas páginas especiales que se utilizan para la gestión de asignaciones, como sigue:
Tipo de página | Descripción |
Página de GAM | Almacenar información del mapa de asignación global (GAM). |
Página de SGAM | Almacenar información de mapa de asignación global compartida (SGAM). |
Página de IAM | Almacene la información del mapa de asignación de índices (IAM). |
Página PFS | Almacenar información de asignación de PFS. |
Si alguna de las páginas de asignación anteriores tiene errores, o los datos administrados por estas páginas de asignación son inconsistentes con la información de asignación, entonces SQL Server o CHECKDB informará errores de asignación.
- Errores de coherencia: Si paginas que se utilizan para almacenar datos, incluidas las páginas de datos y las páginas de índice, si SQL Server o CHECKDB encuentran cualquier inconsistencia entre el contenido de la página y la suma de verificación, luego informarán errores de coherencia.
- Todos los demás errores: Puede haber otros errores que no se incluyan en las dos categorías anteriores.
- xxxx.mdf no es un archivo de base de datos principal. (Microsoft SQL Server, Error: 5171)
- El encabezado del archivo 'xxxx.mdf' no es un encabezado de archivo de base de datos válido. La propiedad TAMAÑO DE ARCHIVO es incorrecta. (Microsoft SQL Server, Error: 5172)
- SQL Server detectó un error de E / S basado en la coherencia lógica: suma de comprobación incorrecta
- SQL Server detectó un error de E / S basado en la coherencia lógica: página rota
- Elimina algunos registros o algunas tablas en la base de datos por error.
SQL Server tiene una herramienta incorporada llamada DBCC, Que tiene COMPROBARDB y TABLA DE COMPROBACIÓN opciones que pueden ayudar a reparar una base de datos MDF corrupta. Sin embargo, para archivos de base de datos MDB gravemente dañados, DBCC COMPROBARDB y TABLA DE COMPROBACIÓN también fallará.
Errores de coherencia informados por CHECKDB:
- SQL Server detectó un error de E / S basado en la coherencia lógica: suma de comprobación incorrecta
- La fila en sys.xxx no tiene una fila coincidente en sys.xxx.
- Error de tabla: ID de objeto ##, ID de índice ## se reconstruirá.
- Este índice de la tabla del sistema no se puede volver a crear.
- ID de objeto ##, ID de índice ##, ID de partición ##, ID de unidad de asignación ## (tipo Desconocido), ID de página (##: 560) contiene una ID de página incorrecta en su encabezado de página.
Errores de asignación informados por CHECKDB:
- La página del mapa de asignación de índices (IAM) está apuntada por el siguiente puntero de la página de IAM
- La extensión (##: ##) en la base de datos ID ## está marcada como asignada en el GAM, pero ningún SGAM o IAM la ha asignado.
Todos los demás errores informados por CHECKDB:
- Falló: (- #######) La ejecución de la consulta "DBCC CHECKDB (xxxx) WITH NO_INFOMSGS" falló con el siguiente error: "xxxx".
- Error de E / S (ID de página incorrecta) detectado durante la lectura en el desplazamiento 0x ###### en el archivo 'xxxx.mdf'.
- El sistema no pudo activar suficiente base de datos para reconstruir el registro
- Pérdida de datos al reparar con CHECKDB
- El archivo parece haber sido truncado por el sistema operativo.
- Al rehacer una operación registrada en la base de datos 'xxxx', se produjo un error en el ID del registro de registro.