Los dos mayores inconvenientes del Sistema de gestión de bases de datos es que es complejo y extenso, lo que hace que la base de datos sea propensa a la corrupción. Microsoft SQL es, sin duda, la opción preferida entre los administradores de sistemas de gestión de bases de datos relacionales, pero este factor no ayuda a superar su inconveniente. Al igual que otros RDBMS, la base de datos SQL también está dañada y una de ellas es la corrupción del encabezado del archivo de la base de datos SQL
![Stellar](https://www.stellarinfo.com/blog/wp-content/uploads/2019/05/SQL-database-error-5172.png)
El servidor SQL se niega a comenzar. ERRORLOG muestra el siguiente error sobre la Auditoría de página:
2017-10-30 15:45:36.36 spid9s Starting up database ‘model’.
2017-10-30 15:45:36.37 spid9s Error: 5172, Severity: 16, State: 15.
2017-10-30 15:45:36.37 spid9s The header for file ‘C:\Program Files\Microsoft SQL Server\MSSQL12.DAR_P11D\MSSQL\DATA\model.mdf’ is not a valid database file header. The PageAudit property is incorrect.
2017-10-30 15:45:36.39 spid9s Error: 945, Severity: 14, State: 2.
2017-10-30 15:45:36.39 spid9s Database ‘model’ cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server error log for details.
2017-10-30 15:45:36.39 spid9s SQL Trace was stopped due to server shutdown. Trace ID = ‘1’. This is an informational message only; no user action is required.
Este es un caso del error 5172 del servidor Microsoft SQL. Puede encontrar errores similares. En el siguiente artículo, obtendrá información de las causas y la solución de la corrupción del encabezado del archivo de la base de datos SQL en la base de datos MS SQL, pero antes de eso, comprenda los conceptos básicos de la página del encabezado del archivo de la base de datos, sus efectos, posibles causas y soluciones apropiadas
¿Qué es la página de encabezado del archivo de base de datos?
En el Servidor SQL, los datos se almacenan en una unidad llamada Página, numerada secuencialmente comenzando con 0 para la primera página del archivo. La primera página también se conoce como página de encabezado de archivo que contiene información sobre los atributos del archivo. Cada archivo se identifica con un número único de ID. Para la base de datos SQL, la página no. y el archivo no. juntos determinan una página
Del mismo modo, el archivo de datos SQL se almacena con la extensión .MDF y .NDF y el espacio en disco se distribuye lógicamente en páginas que numeran 0 hasta n. Todas las operaciones relacionadas con la entrada-salida del disco se realizan en páginas. En pocas palabras, el servidor SQL lee y escribe páginas de datos completas. Encuentre a continuación la estructura del archivo de datos del servidor SQL:
Nº de página | Identificador de página |
Página 0 | Encabezado |
Página 1 | Primer PFS |
Página 2 | Primer GAM |
Página 3 | Primer SGAM |
Página 4 | Sin uso |
Página 5 | Sin uso |
Página 6 | Primer DCM |
Página 7 | Primer BCM |
Descripción de la página – Página 0 (Encabezado): Primera página del archivo de datos SQL y ocupa aproximadamente 8FB de espacio de almacenamiento. Almacena metadatos sobre ese archivo de datos SQL en particular. Todos los archivos tienen Encabezado como Página 0, que CHECKDB no puede recuperar. Todo el archivo se restaura si hay daños o corrupción en el encabezado del archivo. Verifique el contenido del encabezado con la página DBCC. Una mejor opción es “DBCC FILEHEADER”, también conocido como comando de propósito.
DBCC FILEHEADER
Cuando un administrador ejecuta el comando DBCC FILEHEADER de la base de datos SQL en una base de datos particular, busca dos parámetros: 1) Nombre / ID de la base de datos y 2) ID del archivo. El comando básico de sintaxis es:
DBCC FILEHEADER (‘DBName’, ‘FileId’);
GO
El comando DBCC FILEHEADER devuelve una salida tabular con el contenido de la tabla que indica información sobre la base de datos, que incluye salida, crecimiento, ID de enlace, estado, tamaño del sector y más.
Ahora que comprende los conceptos básicos de la base de datos SQL, analicemos el error de corrupción del encabezado del archivo SQL DB.
Posibles motivos y efectos: corrupción del encabezado del archivo SQL
Como se discutió anteriormente, la página Encabezado del archivo SQL es un componente importante y cualquier daño en esta página afecta directamente a la base de datos en la medida en que se vuelve disfuncional. El resultado es “inconsistencia en la base de datos” o “inaccesibilidad completa de la base de datos” en casos extremos. Es un hecho que todos los administradores de SQL mantienen una observación de la administración de su base de datos y permanecen alertas las 24 horas del día, los 7 días de la semana; a pesar de que razones inesperadas pueden conducir a la corrupción de la página del encabezado del archivo:
- Controladores que se comportan mal
- Cortes de energía impredecibles
- Reinicio abrupto del servidor SQL
Las empresas tienen un plan de respaldo de recuperación ante desastres pero la mayoría de las veceses inalcanzable o el administrador no está disponible para ejecutar el plan.
Soluciones para recuperarse de desastres
La mejor manera de recuperar es la restauración de datos de respaldo y casi todas las empresas tienen un respaldo de sus datos, sin embargo, en la situación en la que el respaldo también se realiza en la misma ubicación y hay un apagón repentino, el resultado puede ser corrupción de archivos de copia de seguridad SQL. En ese caso, debe seguir los pasos mencionados a continuación.:
- Detener la instancia del servidor SQL
- Copie los archivos MDF y LDF a otra ubicación
- Eliminar archivos originales MDF y LDF
- Inicie la instancia del servidor SQL nuevamente
- Cree una nueva base de datos (DB) con el mismo nombre de DB y nombres de archivo
- Detener el servidor SQL
- Sobrescribir los MDF y LDF recién creados.
Los pasos mencionados anteriormente conducirán a la recuperación de la base de datos en línea. Establezca un modo de EMERGENCY o SINGLE USER para esta base de datos y ejecute DBCC CHECKDB de la siguiente manera:
DBCC CHECKDB (databaseName, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS
Nota: la ejecución del comando DBCC CHECKDB puede tener un efecto contrario: puede terminar perdiendo datos parciales con marcas como REPAIR_ALLOW_DATA_LOSS. Los datos de la organización son cruciales y deberían estar disponibles como están. Una pérdida parcial de datos puede resultar en pérdida comercial.
terminar perdiendo datos parciales con marcas como REPAIR_ALLOW_DATA_LOSS. Los datos de la organización son cruciales y deberían estar disponibles como están. Una pérdida parcial de datos puede resultar en pérdida comercial.
Con esta opción, ha descartado una opción de recuperación de datos utilizando el método manual. La única y, de hecho, la mejor manera es usar Stellar Repair for MS SQL. Esta herramienta de recuperación de base de datos SQL repara archivos MDF corruptos y restaura datos completos.
Conclusión
Aunque RDBMS es utilizado por la mayoría de los administradores de bases de datos SQL, es propenso a la corrupción y a cierres inesperados. Para superar este problema, cree la copia de seguridad de la base de datos en una ubicación diferente para facilitar la restauración. Si esta opción tampoco está disponible, recurra al Plan B y obtenga un software de terceros para lidiar con la corrupción del Encabezado del archivo de la base de datos SQL y recuperar su base de datos corrupta en poco tiempo. De hecho, las empresas deben tener un software de terceros listo como un plan de respaldo alternativo para reducir la pérdida comercial por falta de disponibilidad de la base de datos.